Introduction to the Hypermedia

I was reading around about how to architect in a scalable fashion a web service. You know, the concept of remote procedure call?

At work, I had a conversation about implementing SOAP with an other service, It struck me that they did not talk about REST. Mostly in today’s distributed system, you may want to think twice about if there is something newer that solves better than a solution designed 20 years ago… there must be things learned

So, I wrote this small introduction to what is REST, and the Hypermedia.

Beware, I am not an expert, just a curious that found a nice video and some links about it and trying to learn and apply it properly.

Actually, I heard it for the first time from Darrell Miller in an impressive presentation that blew my mind. Unfortunately I did not pursue up until a few months ago.

Now, I am at a state where I am starting a project and we have to talk to many nodes, I would like to take this opportunity of starting from scratch and use it’s concepts. I am anxious on how it is going to look like.

As for the difference this post started for; I discussed with my colleagues, I compiled these two descriptions with code example in PHP to illustrate.

Continue reading “Introduction to the Hypermedia”

Crash course about how DNS works and the things you should know about it

I often come with conversations with people and hear them asking how DNS works for hosting their domains. Most of the time, there is plenty of ressources about this. Nevertheless. I felt like I could try to make a nice answer in less than 200 words.

What is DNS?

Just to have everybody on equal grounds, here is some describing facts about domain name resolution that drives the World wide web.

  • Oldest DNS service is the “hosts” file listing basically IP address and name
  • DNS is all about converting “name” into IP address;
  • Registrar is a provider that takes care to register your specification of DNS servers to the ROOT servers

Essentials to know about DNS configuration

Now, the configuration of it. Configuration made of simple flat text files. Format seems cryptic at first but its very straight to the point.

  • Each file is also called a “zone file”
  • A Zone can be created from any DNS server. It is really used ONLY if you specify them at the registrar
  • Entries in a zone represent a subdomain (A,CNAME), a configuration (TXT), or other peers (NS) one per line
  • Each name must end by a dot. Otherwise it gets to be represented as a subdomain of the current zone file name

Some examples

Rougly. The A, and CNAME entries are the essentials to know about.

CNAME is an alias to a A

    domainname.com. IN A 1.1.1.1
    www IN CNAME domainname.com.
    other.domainname.com. IN A 2.2.2.2

Explanations:

  • Both names www.domainname.com and domainname.com in the address bar wil get same IP but you only have to change the A entry
  • Domain entry always end with a dot. Otherwise (like the case of the “www entry) it gets terminated by the zone name (the SOA (Start Of Authority) declaration) not shown.
  • Most important is also the MX and NS entries.  MX is the mail servers and NS the other new DNS servers. Just make sure it follows through

Hope this helps clarify

Mon souhait pour bien écrire sur le web: Lettre ouverte à Druide

Bonjour

Je suis un développeur web et je regarde sur le web s’il existe un service qui me permettrait de faire valider mon texte. Plusieurs gens dans le monde du marketing ne jurent que par vos produits. Mais je ne vois pas d’offre de la sorte autre que WebElixir.

Selon moi, plusieurs développeurs web aimeraient avoir accès a votre service pour ajouter votre outil au processus d’édition leur contenus.

De façon interactive.

Mon point de vue

J’aimerai pouvoir avoir un accès a un service REST avec token OAuth pour envoyer mon texte, et le recevoir révisé.

Je suis un développeur PHP qui utilise Symfony2 et ce qui suit est basé sur les outils que j’utilise en PHP.  Soyez assuré qu’il existe une alternative pour les autres langages du web tel que le .NET, Python et Ruby car les concepts que j’apporte ici sont monnaie courrante d’une technologie web à l’autre.

Potentiel

  • pouvoir avoir une aide directement dans une fenêtre d’édition de l’administration d’un site géré par WordPress (l’un des CMS les plus utilisés au monde).
  • Outil de publication de Tweet avec vérification de syntaxe pour widget de portail d’entreprise
  • Décentraliser l’architecture (WebElixir à sûrement un API via http?)
  • Outil allégé pour téléphones intelligents (seulement supporter le pastebin qui sert d’entrée de texte)
  • Connectivité aux API de iOS, et Android
  • Les services web sont offerts pour presque tout (TwitterFacebookEvernote, Solr (Lucene, index de recherche),  et beaucoup d’autres)

Ébauche préliminaire d’une solution

 

Avez-vous de quoi de similaire? (Autre que WebElixir?)

 

Merci de m’avoir lu.


Réponse reçue de Druide Informatique

Bonjour Monsieur Renoir,

Nous n’avons rien de similaire à ce que vous mentionnez dans votre message, ni d’API pour développer sur la base de WebElixir.

Toutefois, nous vous remercions de votre commentaire. Au fil du temps, nos produits ne cessent de s’améliorer, et ce sont en grande partie les remarques et suggestions de ses utilisateurs qui orientent notre travail.

Les commentaires comme le vôtre sont dument notés et font tous l’objet d’une analyse diligente. Il est ainsi possible que l’amélioration que vous suggérez, ainsi que plusieurs autres, fasse un jour partie d’une version ou d’une édition future d’Antidote ou de WebElixir.

Nos salutations les plus sincères.

(…)

devLAB Montréal c’est maintenant parti!

Je l’avait annoncé. Nous avons particié a des événements, joints d’autres. Maintenant, depuis Janvier 2011, à tous les mercredis, nous vous invitons a vous joindre a nos rencontres. Donc,depuis cinq semaines maintenant nous hébergeons au public nos ateliers de travail qu’on appelait nos GeekNights maintenant surnommé devLAB.

Comment devLAB a commencé?

Tout a commencé en 2006. Le besoin est né après plusieurs mois à discuter de technologie a deux (avec Etienne) a prendre une bière au 3Brasseurs et de parler de binaire, netmask… vous savez, des trucs de Geeks. Nous avons joins notre  vieil ami Stephan et nous avons officialisé le pacte que nous avons tenu de 2006-2009. Une fois par semaine tous les Mercredis soir nous suivions ce concept:

  1. Se rencontrer peu importe la charge de travail au bureau
  2. Faire avancer une idée
  3. Utiliser quelque chose qu’on a jamais utilisé avant
  4. Pratiquer les méthodologies pour prendre les plis qu’on ne pouvait pas toujours prendre au bureau

Parfois nous en faisions des CodeFests qui duraient une fin de semaine complète. D’autres fois nous invitions des amis a jouer avec nous sur des sujets divers.

Continue reading “devLAB Montréal c’est maintenant parti!”

Réalisation de l’intégration du site de Jean Émond [2008]

Pour ajouter a ma collection de billets de mon Portfolio professionnel j’ai fait en 2008 ce petit site.

J’ai de la difficulté à trouver des mots pour decrire ce projet. Un pamphlet publicitaire est le nom le plus près de ce que je peit utiliser pour decrire.

Contrairement aux autres clients que j’ai eu je n’ai pas rencontré le client directement.

Intégration HTML/CSS

Le but était principalement de refaire la brochure PDF en version web. Il a été fait en deux itérations comme vous pouvez le voir sur les captures d’écran.

Captures d’ecran

Voir le site Jean Emond.ca

Réalisation site Manoir Saint-Francis faits avec GéraniumCMS [2007]

Manoir Saint-Francis : Page avec images cartes généré par GéraniumCMSDans ma série d’articles ou je parle des sites que j’ai fait dans le passé. J’ai mentionné quelques fois que j’utilisait GéraniumCMS. Le projet du site du Manoir Saint-Francis à Magog, est l’un des derniers déployés.

Derniers sites faits avec GéraniumCMS

J’était en emploi chez TechSolCom Groupe informatique depuis quelques temps déjà et un ancien client de Inexis a voulu que je fasse un site pour lui.

Le contexte général du projet est comme il l’est souvent. Un graphiste me fournit des planches Photoshop et je dois le rendre identique en HTML.

Gallerie d’images

Article publié sur devLAB – Community Partner Spotlight: DevLAB Montreal

Origine de l’article

Il s’agit d’un article qui

Community Partner Spotlight: DevLAB Montreal

This year MWNW will be having a codefest portion co-hosted by the coolest geeks in town, DevLab Montreal. The folks at devLab MTL are very passionate about new technologies and Open Source, so we’re thrilled to have them on board with Make Web not War. We asked Renoir Boulanger , Co-Founder of DevLab MTL, a few questions:

What is devLab Montreal?

devLab Montreal is the natural movement toward the open-source community because it first started as friends gathering together every week only to play with technologies. Be it: Virtualization, Trying stuff with frameworks, Optimizing a minimal Linux virtual machine or computer, playing with monitoring, and so on. During the years, we talked about our gatherings and people got interested in joining, so we started to get out with the Open-source community and meet people that loves as much open source software as we do. Then it came naturally. When we founded Evocatio, we HAD to put some structure in it and bring something that’s missing in the Montreal’s events scene… something for us, geeks. devLab is our way to give back to the community. We scheduled meetings through the next year so we could teach and learn from each other. Each meeting will have a theme. Stored procedures optimization with either MySQL or Microsoft SQL. Database modeling and normalization. Bugwacking sessions on projects of our choice.

Why did you want to get involved with MWNW?

We want to get involved with MWNW because we have that passion to make things work together. Be it OpenLDAP, Active Directory or Tivoli or a SOAP WebService connecting to either MySQL or Microsoft SQL. In today technology landscape we cannot ignore either side. People will want software that fits their needs and as it happens many times Open source software have to work with Proprietary software. We embrace Microsoft initiative to listen to what we have to say as Open Source Enthusiasts.

Sign up for the codefest if you want to hack out some code with the devLab folks at MWNW.

Réalisation du Micro-site de l’Initiative Environnementale de la Ville de Sherbrooke [2006]

Environnement * Ville de Sherbrooke : Accueil

Ce micro-site était une manière d’afficher aux citoyens de la Ville de Sherbrooke les ressources disponibles (en 2006) pour participer aux précautions relatives aux matières résiduelles domestiques et commerciales du territoire. Le site actuel est maintenant partie intégrante du portail officiel.

Le travail avait été donné a Tatou communication visuelle de s’occuper du projet et Inexis Solution Web Inc était l’exécutant qui devait intégrer les maquettes graphiques pour les transformer en documents HTML.

Continue reading “Réalisation du Micro-site de l’Initiative Environnementale de la Ville de Sherbrooke [2006]”

Comment dire à Apache le mime-type d’un document Office 2007

J’ai entendu parler de certains Problèmes avec les documents .docx qui son considérés comme étant des fichiers zip. J’ai pensé partager avec vous comment j’ai réparé la situation.

Il est possible que le serveur apache ne considère pas les fichiers doc sur le serveur comme étant des fichiers office. Normalement un navigateur téléchargera le fichier et ouvrira avec le programme qu’il considère comme étant le bon.

A moins que l’ordinateur du visiteur ait pas de bonne association de fichier, dans ce cas, on peut rien y faire.

Pour aider, on peut annoncer au serveur web les associations MIME.

Le problème avec cette méthode qui ne sert presque a rien, c’est que ça ne changera rien si

  1. Le visiteur n’a pas de bonne association sur son système d’exploitation
  2. Le visiteur n’a pas Microsoft Office 2007 ou Open Office

Continue reading “Comment dire à Apache le mime-type d’un document Office 2007”

La semaine Des logiciels libres à Montréal «MonDev»

MonDev
Montreal Open Source Week - La semaine des Logiciels Libres de Montréal MonDev

Durant la semaine du 24 au 28 Mai 2010 aura lieu la semaine des logiciels libres MonDev. Pour cette semaine particulière nous allons vous guider sur les activités geek de la semaine.

Au menu: Rencontrer les membres de la communauté des logiciels libres à Montréal, notamment: les gens de PHPQuébec, et de TikiWiki.

Le but principal de levenement est de créer un podium pour les logiciels libres durant. Nous avons décide de faire l’événement durant la semaine du Webcom Montréal 2010 parceque beaucoup de gens viendront de loin pour voir le Webcom et le Make Web Not War et on sent qu’on pourrait faire d’autres événements qui pourraient nous intéresser autant que nos visiteurs.

Continue reading “La semaine Des logiciels libres à Montréal «MonDev»”

Crash Course sur les environnements Java

Je suis actuellement en mode “Documentation” et je me suis dit que le web pourrait profiter d’un résumé, en français, du Jargon de l’univers Java.

Je ne suis pas un développeur Java mais j’ai eu a administrer des serveurs pendant 4 ans, et j’en fais encore aujourd’hui. Ce document résume ma compréhension des usages. Si vous avez des suggestions ou vous voulez me corriger, dites-moi le dans les commentaires et j’ajusterai mon billet.

 

Les versions

La majeure différence entre les Java réside dans leur version et ce qui y est distribué avec. La différence majeure réside entre

  • JDK (Java Development Kit),
  • JRE (Java Runtime Environement), et finalement il existe aussi la
  • JME (Java Mobile Edition) pour les devices mobile.

C’est un peu comme une distribution Windows XP Professionnel ou Windows XP Media Centre.

Il existe plusieurs distributeurs d’environnement Java, notamment : IBM, SUN, OpenJdk. La norme et elles sont toutes basés sur la JVM de SUN Microsystems. L’inventeur de Java.

L’Avantage majeur de Java est le fait qu’il existe des distributions pour toutes les plateformes : Windows, Mac, Linux, Solaris, FreeBSD, etc.

 

Termes fréquemment utilisés

  • « JVM » (Java Virtual Machine) est en fait l’appellation utilisée pour parler de ce qui est exécuté. Ce qui est ci-haut mentionné exécutent toutes des JVM… avec des classes (jar) différentes.
  • « Jar » est en fait, grosso-modo, une archive zippée d’un dossier de classe.
  • « Class » une classe compilée Java.
  • « Container » est en fait ce qu’on appelle un Serveur applicatif. Bref, un serveur http qui roule les classes Java.
  • « J2EE » est un accronyme qui peut être vue comme une spécification technique (penser ISO) fournie par SUN pour les standards d’environnement d’exécution (« Container »).

 

Serveur Applicatif

Il en existe plusieurs. La norme avec les logiciels suivant la tendance Open-Source utilisent la version Apache du container J2EE appelé Tomcat. Atlassian utilise Tomcat dans ses version « self hosted » distribués.

Il en existe d’autres comme Glassfish de Sun Microsystem, WebObjects de Apple, Tomcat de Apache Foundation, JBoss de RedHat, WebSphere de IBM, et bien d’autres.

 

Une classe

C’est quoi?. C’est du code java compilé.

La hiérarchie est faite en fonction du « namespacing » inspiré des standards du DNS. Une classe spécifique Java pour un WebService SOAP pour traduire du français au Klingon pourrait être appelé : i.e. com.renoirboulanger.startrek.klingon.soap.jar.

 

Suggestions

Je pense avoir fait le tour du sujet. Dites-moi dans les commentaires si j’ai oublié quelque chose d’important.

 

Plugin MODx pour générer automatiquement les balises ABBR et autres pour chaque page

Il s’agit d’un plugin que j’ai fait, en PHP 4 il y a deux ans pour MODx 0.9.6.3, pour un site web et je pense qu’il vaut la peine que je partage le code avec la communauté.

Le plugin sert a entourer des mots définis dans un fichier CSV (séparé par des virgules) dans le contenu qui est retourné par le CMS.

 

LA SITUATION

Lorsque je travaillait sur ce site web, mon employeur et mon collègue nous étions donné comme objectif de paufiner l’Ergonomie et l’Accessibilité du contenu. Ce qui est dommage c’est qu’il n’a jamais été évalué par AccessibilitéWeb. J’ai pourtant reçu la formation pour évaluer les sites… mais je préfère, personnellement, programmer des applications.

 

Continue reading “Plugin MODx pour générer automatiquement les balises ABBR et autres pour chaque page”

Réalisation d’une application d’échange de cadeau avec RED L’agence le «club échangiste» [2009]

Il s’agit d’une réalisation que j’ai effectuée en deux semaines pour RED L’agence. L’idée vient de François Sauvé lors d’une rencontre pour un autre projet. Il m’a dit: «J’ai une idée de fou. Je ne sais pas si on pourrait faire ça rapidement mais…».

C’est le genre de situation que j’aime!  Une question, la possibilité de me laisser aller, et hop!

RED voulait faire offrir un cadeau à chacun de ses clients privilégiés d’une façon hors de l’ordinaire. Les participants étaient invités a visionner leur cadeau par une petite carte de noël reçue par la poste (devant, dos) avec une adresse web et un code.

Le concept graphique était, selon moi, bien rendu. Un club échangiste avec les lumières tamisés, rien d’offensant mais tellement bien choisi pour le jeu.

Le site web devait permettre aux participants de voir leur cadeau et de pouvoir «Participer au club échangiste» en volant le cadeau d’un autre participant. Chaque participant qui se faisait voler son cadeau reçevait un courriel qui lui annonçait qu’il s’était fait voler et qu’il pouvait aller le récupérer.

Continue reading “Réalisation d’une application d’échange de cadeau avec RED L’agence le «club échangiste» [2009]”

Réalisation (jamais publiée) du site de Savon des Cantons [2005]

Savon des cantons : logo Il s’agit d’une de mes dernières réalisation avant un an et demi sans produire de sites web sous la tutelle de Inexis Solution web Inc.

Avec le recul, j’ai réalisé que ce site m’a appris une bonne leçon: Savoir les conditions et les deal-breakers possibles avant de commencer a produire quoi que ce soit!. C’est pour cette raison que j’avait arrêté Inexis Solution web: Je ne pouvait plus travailler seul.

Continue reading “Réalisation (jamais publiée) du site de Savon des Cantons [2005]”

Manipulation des liens extérieurs et les popup pour améliorer l’Accessibilité

En rédigeant Accessibilité et les liens externes j’ai réalisé qu’il y aurait trop de matière pour être lue dans un simple billet. Alors j’ai décidé d’aller plus en profondeur et de le documenter.

Cet article explique une méthode simple pour transformer tout les liens d’une page qui vont à l’extérieur du site courrant en ajoutant un icône approprié et la note disant qu’une fenêtre s’ouvrira

Continue reading “Manipulation des liens extérieurs et les popup pour améliorer l’Accessibilité”

Fait d’usabilité no3, Nous n’essayons pas de comprendre les choses, nous fouillons

dmmt_cover.jpg

Voici la suite de ma revue du livre que j’ai lu récemment qui traîte de l’Utilisabilité. Le livre s’appelait: Don’t make me think. A Common Sense Approach to Web Usability, voici un troisième fait qu’il est bien de considérer.

Attention à l’anglicisme;
Fact of life #3 > We don’t figure out how things work. We muddle through.

Continue reading “Fait d’usabilité no3, Nous n’essayons pas de comprendre les choses, nous fouillons”