skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

vendredi 25 octobre 2013

Après une journée passée en réunion...

Publié par Infinite Loop, à 17 h 06 0 commentaire

Une collègue n'a pas verrouillé son ordinateur portable lorsqu'elle s'est absentée de la réunion. Nous en avons profité pour écrire une niaiserie dans son document électronique.

À son retour, elle demanda qui avait écrit ça. Nous avons fait mine de ne pas savoir.

Un autre collègue répondit que de toute façon, ça ne ressemblait pas à son écriture.

À mon tour, j'ai ajouté que ça ne pouvait pas être moi car la mienne ressemble davantage à du Verdana.

On est con comme ça en fin de journée :-)


Tags: Le coin du geek

jeudi 24 octobre 2013

Pourquoi Global, pourquoi ?

Publié par Infinite Loop, à 19 h 52 4 commentaires

Je viens de terminer l'intégration d'une solution de paiement en ligne pour un client. Comme celui-ci possédait déjà un compte à la Banque Nationale du Canada, la solution retenue fût celle du fournisseur Global Payments auquel elle est affiliée.

Avant d'amorcer le travail, j'ai eu à communiquer avec Global pour ouvrir un compte sandbox afin de faire des tests de programmation et simuler les transactions. Pour obtenir des renseignements et la documentation technique, j'ai eu à laisser un message à trois personnes dont seule la dernière retourna mon appel.

Le vendeur qui m'a rappelé n'avait aucune notion technique et se préoccupait davantage me promouvoir les différents services plutôt que de répondre à mon besoin. Au bureau de Global Payments au Québec, je me suis fait dire par une autre employé que le seul technicien qui pouvait m'aider était en vacances et que je devais attendre son retour(!). Lui non plus n'a pas donné suite à ma requête.

C'est si difficile d'obtenir une réponse facilement ? J'ai donc poussé ma chance plus loin et je crois m'être retrouvé à parler à quelqu'un au bureau régional en Ontario qui m'a dit d'envoyer un courriel au support technique, puis j'ai échangé des communications avec des gens de l'entité GlobalPay (selon l'adresse courriel) pour enfin obtenir l'accès par l'intermédiaire d'une autre entité nommée CRESecure située à Atlanta aux États-Unis... C'est vrai que c'est la période de l'année où débute la série Mondiale de baseball mais ce n'est pas une raison pour que tout le monde se relance la balle.

Je croyais que mes ennuis s'arrêteraient là mais non. Lors de la phase de développement, j'intégrais la solution nommée SecureForm qui permet à un hébergeur qui n'a pas de certification PCI (Payment Card Industry) de déléguer la responsabilité de saisir les informations de la carte de crédit à une passerelle hébergée chez un fournisseur accrédité comme Global Payments, sans jamais que le site marchand ne manipule le numéro de la carte de crédit sur ses serveurs.

Or la documentation m'a fait rager car elle comporte son lot d'erreurs. Par exemple, à la page 36 de 55 du document PDF Global Transport Secure Form Implementation Guide v.1.pdf, sous la section intitulée Global Transport Secure Direct Services, j'ai compté trois erreurs techniques. La dernière révision date pourtant de juillet 2013...

À titre de référence, voyez la capture ci-dessous.

 
Cliquez pour agrandir


Erreur # 1 : URL de l'environnement de développement (sandbox)

Cliquez pour agrandir

Pour valider une transaction auprès de Global, on prend la peine d'indiquer explicitement une note comme quoi l'URL à appeler ne doit pas se terminer par une barre oblique lorsqu'on est en mode test. Jusqu'à ce que je me rende compte par Fiddler que Global a eu la brillante idée de faire une redirection 301 vers la nouvelle URL qui comprend le slash...

Erreur # 2 : GET ou POST ?

Cliquez pour agrandir

La validation doit se faire par une requête POST. Est-ce que je rêve ou l'exemple montre une requête GET ? Après tests, je confirme que la méthode à utiliser est bien un POST.


Erreur # 3 : Paramètre de validation

Cliquez pour agrandir

Celle-ci est la pire de toutes car elle n'est pas évidente à trouver mais j'ai pu la déduire. Alors que la requête de validation ne fonctionnait pas, j'avais remarqué que les noms des paramètres ne suivaient aucun standard de nommage, passant du camelCase (CRESecureId) à l'underscore (total_amt). Après avoir bidouillé un peu et essayé de comprendre pourquoi le paramètre orderId n'était pas pris en considération (validation échouée), je me suis risqué à renommer le paramètre passé à order_id pour voir, juste au cas-où. Et ça s'est mis à fonctionner à merveille.

Une fois tout le processus fonctionnel, je me suis dit que j'allais leur rendre service en leur adressant un courriel pour communiquer les erratums du document. La réponse que j'ai reçu m'invita à m'adresser à un autre département.

Come on Global Payments, c'est quoi ce niaisage ?


Tags: Programmation

jeudi 3 octobre 2013

Making-of de ma 2ème guitare électrique (galerie photos)

Publié par Infinite Loop, à 07 h 09 0 commentaire

Lorsque j'ai complété l'assemblage de ma toute première guitare artisanale, j'annonçais déjà que j'en entamais une deuxième. Toujours de type Les Paul, car c'est le modèle le plus prestigieux à mes yeux et que j'apprécie l'élégance de son architecture.

Je vous propose donc de suivre l'évolution de sa finition par cet album photos dont les étapes s’échelonnent sur 6 semaines de travail. Croyez-moi, le résultat dépasse largement celui de la précédente.

Aussi, contrairement à la première où j'utilisais un fini protecteur à base d'huile d'abrasin (tung oil), j'ai opté cette fois pour la lacque, ce qui donne un résultat beaucoup plus professionnel mais comportant plus de risques à l'application.

Cliquez sur les photos pour les voir agrandies.

Corps en tilleul (basswood) avec un dessus en érable flammé.


Calcul et tracé pour positionner le bridge et tailpiece aux bons endroits.


Premier perçage avec comme guide le tailpiece centré.


Une fois les trous percés avec une mèche standard, on peut les utiliser comme guide pour centrer la mèche à façonner.

 

Mèche à façonner de type Forstner, dimension 7/16". Le diamètre du trou doit être à peine plus étroit que la pièce métallique à enfoncer par pression (elle ne ressortira plus jamais).


Perforation au bon diamètre par la mèche Forstner.


L'ancre métallique s'installe en deux pièces : la première sous pression, la deuxième se visse à la première.


Les ancres doivent êtres installés parfaitement perpendiculaires. Le tailpiece prêt à être installé.


Le tailpiece est mobile, il ne fait qu'être retenu en place par la pression des cordes lorsqu'elles seront installées.


Installation des deux cordes de E (mi) aux extrémités pour valider que le bridge est bien centré avant son installation.


Retrait des pièces métalliques et application de la teinture à l'eau de marque Saman, couleur cerise #113.


Dos de la guitare


Teinture séchée, une seule couche nécessaire.


Application d'une 1ère couche de laque.


J'ai utilisé une laque lustrée en aérosol de marque Watco (2 bouteilles). Ce produit a une forte odeur et je recommande fortement l'utilisation d'un masque et d'ouvrir la fenêtre. Évitez de le faire à l'extérieur et à un endroit où de la poussière pourrait coller à la laque pendant le séchage (au moins les 30 premières minutes).


L'important est d'appliquer plusieurs couches minces pour obtenir un meilleur fini (sur la photo, la laque n'est pas encore sèche).


3ème couche de laque (il est suggéré d'en appliquer au moins 4, j'en ai appliqué 6 ou 7 sur le dessus!)


La laque perd de son lustre en séchant.


Laque sèche.


Application de la laque au dos de la guitare. La laque en aérosol reste un peu liquide dans les 10 premières minutes et il est important de protéger les rebords contre les coulisses qu'elle peut former en coulant lentement sur le rebord du top en érable (croyez-moi, vous voulez éviter ça à tout prix).


Aperçu du dessus de la guitare terminé avant la pose du manche et de la quincaillerie.


Comme pour la 1ère guitare, j'ai eu à tailler le haut du manche pour lui donner la courbe caractéristique à la Les Paul. Puis je l'ai teint avec le même rouge.


Protection du fingerboard avant l'application de la laque.


Installation des clés.



Le manche doit être collé puis maintenu en place avec des serres pendant 24 heures pour assurer la meilleure adhérence possible.


La colle Titebond Original est reconnue comme étant si puissante que si on forçait le manche, le bois risque de fendre avant que la colle cède.


Installation du bridge et du tailpiece.


Installation des humbuckers et passage du filage électrique.


Un peu d'organisation dans le filage n'est pas un luxe :-)


Le chef d'oeuvre prend forme... Les humbuckers tiennent en place avec du ruban à masquer, le temps de percer les trous pour les visser au corps. J'adore la couleur qui change selon l'angle de la lumière.


Le chef d'oeuvre enfin terminé avec les cordes installées!


À ce moment-ci, c'est le moment pour un soundcheck bien mérité­. Après quelques ajustements pour la touche et le bridge, le son est étonnant pour un produit artisanal. C'est aussi le moment de vérifier si le toggle switch treble/rhythm est placé correctement par rapport au raccordement du filage des pickups et de tester les contrôles du volume et du tone de chacun.


Terminé ? Non, il ne manque que le pickguard!


Look final avec le pickguard. À vrai dire, il manque le toggle switch tip blanc sur la photo car j'en avais seulement un beige. Je l'ai teint avec une peinture à plastique en aérosol.


Si vous avez des questions sur sa conception ou besoin de conseils, n'hésitez pas à me contacter. C'est un projet qui n'est pas si compliqué à faire, il faut seulement beaucoup de patience et être prêt à investir un peu d'argent si on n'est pas très outillé. Au final, l'avoir fait soi-même et qu'elle soit unique est la récompense ultime. La preuve, demandez-moi si j'en ferai une troisième :-)


Tags: Le coin du geek, Musique

Messages plus récents Messages plus anciens Accueil
S'abonner à : Messages (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (55)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ▼  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ▼  octobre 2013 (3)
        • Après une journée passée en réunion...
        • Pourquoi Global, pourquoi ?
        • Making-of de ma 2ème guitare électrique (galerie p...
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ►  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ►  juillet 2010 (35)
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (429)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (36)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft