Développement web

Ostrich: un élégant client Twitter pour Safari

Publié le 19 août 2010 à 7:50 par Stéphane Jose dans: Cas Client, Développement web

On aime bien faire connaître vos projets et partager vos bon coups avec la communauté d’iWeb. Aujourd’hui le développeur Jerôme Gravel-Niquet a bien voulu nous parler de son dernier projet, une extension au fureteur Safari nommée Ostrich (http://ostrichapp.com/). (Lire la suite…)

0 commentaires  | 
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes)

Wordpress 3.0: pas seulement pour les blogues

Publié le 28 juin 2010 à 10:38 par Stéphane Jose dans: Développement web, iWeb

Wordpress est probablement l’un des système de gestion de contenus les plus connus. Il en existe de nombreux autres, TikiWiki ou Impress CMS pour en nommer quelques uns, mais quand il s’agit de gérer un blogue, Wordpress est certainement le plus populaire. La popularité du logiciel, dont le développement est dirigé par l’équipe d’Automattic, est telle qu’elle a détrôné Movabletype, le CMS de SixApart qui a été pendant des années le chef de file en la matière. (Lire la suite…)

3 commentaires  | 
1 Star2 Stars3 Stars4 Stars5 Stars (Pas de votes)

Pourquoi utiliser SQL Server?

Publié le 16 juin 2010 à 12:01 par Stéphane Jose dans: Développement web, iWeb

Si vous êtes un utilisateur de nos serveurs dédié Windows vous pourriez être intéressé à en savoir plus sur Microsoft SQL Server.

Lors du choix d’un système de gestion de bases de données de nombreuses sociétés se concentrent sur les bénéfices initiaux, mais ne réalisent pas les avantages à plus long terme. La scalabilité, la redondance, la génération de rapports et la synchronisation sont des caractéristiques dont vous pouvez profiter dès l’installation avec Microsoft SQL Server 2008 R2.

La semaine prochaine, Microsoft va animer une webdiffusion dont le but sera de mettre en évidence les avantages de Microsoft SQL Server Express et des serveurs dédiés Windows.

Cette session sera axée sur les outils et procédures qui pourrons vous permettre d’être opérationnel très rapidement avec SQL, comment SQL Server se compare à MySQL et également comment obtenir une copie entièrement fonctionnelle de SQL Server gratuitement.

Vous pourrez vous connecter le 23 Juin à partir de 13 heures HNE. L’accès est gratuit, mais vous devez vous inscrire ici: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032453541&Culture=en-CA

La webdiffusion est ouverte à tous, mais se tiendra en anglais seulement.

0 commentaires  | 
1 Star2 Stars3 Stars4 Stars5 Stars (Pas de votes)

Trois projets Open Source mis en valeur au MWNW

Publié le 4 juin 2010 à 10:49 par Stéphane Jose dans: Développement web, iWeb

La semaine dernière était bien chargée pour les développeurs et les technophiles. Durant une semaine complète toutes sortes d’évènements se sont regroupés sous l’égide de la Semaine Open Source de Montréal. Plus connu sous le nom MonDev, cette semaine se voulait une célébration des technologies du logiciel libre et de la communauté qui gravite autour.

iWeb était fier d’être partenaire d’un des évènements les plus cool de cette semaine: Make Web Not War (MWNW) (Lire la suite…)

iWeb, FTW!

Publié le 28 avril 2010 à 10:56 par Stéphane Jose dans: Développement web, iWeb

webnotwarBonjour, ici Nik Garkusha!

Cela n’arrive pas tous les jours de trouver un partenaire technologique aussi passionné pour leurs clients et pour la communauté que les gens de chez iWeb.

Il y a quelques mois, iWeb a gracieusement fait don d’un petit nombre de serveurs pour un projet pilote afin d’aider les communautés locales de Montréal de code source libre dans leurs efforts de développement et d’essais sur IIS7, alors que nous avons également fait don de 1000$ à ce projet une fois qu’il a été porté sur Windows et IIS.

L’idée a été bien reçue lorsqu’elle a été annoncée à CareerDemoCamp Montréal en Décembre et 2 primes ont été acceptées peu après. (Lire la suite…)

0 commentaires  | 
1 Star2 Stars3 Stars4 Stars5 Stars (Pas de votes)

iWeb sera présent au DemoCamp de Montréal le 2 décembre 2009

Publié le 30 novembre 2009 à 3:26 par iWeb-Jean-Luc dans: Développement web, iWeb

L’équipe de iWeb sera fortement présente dans le prochain DémoCamp à Montréal. Deux de nos employés feront des présentations et Jean-Luc SansCartier sera coanimateur de l’événement.

Qu’est-ce qu’un DémoCamp? Il s’agit d’une occasion pour les développeurs Web et les start-ups de se rencontrer et d’en apprendre davantage sur le marché du travail et sur certains projets locaux passionnants et réseautés! Il s’agit d’une série de 6-8 présentations  «Show Case » pour la communauté de développeur de Montréal. La démo peut être d’un logiciel, une application Web ou projet en action. Aucune diapositive n’est permise, juste des projets en action! L’idée est de montrer la technologie en action et d’inspirer les gens.

Le tout aura lieu au Centre Mont-Royal le 2 décembre 2009 à 18 h 30 heures. La soirée débutera avec l’atelier de carrière a 18 h 30 jusqu’à 20 h ou aura lieu les fameux démos. L’événement est gratuit et ouvert à tous!

Les présentations des employés de iWeb seront effectuées par Patrick Lafontaine et Benjamin Vanheuverzwijn. Les sujets seront :

- Comment avoir des sauvegardes MySQL efficaces, gratuitement.  Patrick Lafontaine, certifié MySQL DBA (CMDBA) et MySQL Developper (CMDEV), iWeb

- Présentation des outils libres disponibles pour developper sur un microcontrôleur Microchip PIC 16 bit. Benjamin Vanheuverzwijn, étudiant génie électrique – iWeb

Nous espérons vous voir en grand nombre parmi nous au DemoCamp mercredi prochain.

Suivez-nous sur Twitter and Facebook

Sécuriser Wordpress contre les pirates et les scripts

Publié le 19 août 2009 à 2:52 par heri dans: Développement web, iWeb

Étant une compagnie d’hébergement web, ou tout simplement étant une compagnie web, iWeb a une longue expérience avec Wordpress. Nous avons des milliers d’installations Wordpress sur notre plateforme d’hébergement mutualisée et de serveurs dédiés. iWeb a aussi adopté très tôt Wordpress, au début pour publier des mises à jour des infrastructures, et aussi des nouvelles importantes de la compagnie. Nous avons aussi commandité WordCamp Montreal récemment. C’est sans aucun doute une des meilleures plateformes de publication sur le marché, avec son modèle de développement de logiciel libre, son système puissant de plug-ins et de thèmes, et aussi une communauté large et dynamique d’utilisateurs et de développeurs.

Une des conséquences directes de la popularité du logiciel est que Wordpress devient la cible constante d’attaques et tentatives de piratage. Il y a le problème du spam dans les commentaires, mais aussi les scripts et les pirates qui essayent de prendre le contrôle de votre site web. Par exemple, nous avons eu un problème de sécurité avec Wordpress et le blog iWeb en début de semaine, avec un pirate qui a réussi à s’identifier dans l’interface d’administration. Heureusement, le problème a été reglé rapidement, et nous avons introduit de nouvelles mesures qui empêcheront une tentative similaire, avec des mesures techniques, mais aussi des politiques TI de sécurité.

C’est facile de ne pas s’occuper de la sécurité d’un blogue, et l’incident ci-dessus est un bon exemple pourquoi chaque blogeur Wordpress devrait passer du temps sur le problème. Par exemple, Wordpress a publié une mise à jour de leur plateforme la semaine passée. La version 2.8.4 règle une vulnérabilité où un pirate pourrait avoir accès à l’interface d’administration d’un blogue Wordpress. Si vous n’avez pas fait la mise à jour, faites-le maintenant. Voici d’autres outils qui pourront vous aider:

  • Le codex Wordpress  a un article complet sur comment sécuriser votre installation Wordpress
  • Le plugin Wordpress Security Scan vous permet de trouver des failles de sécurité sur votre site, vérifier les mots de passe, les permissions fichiers, sécuriser la base de données. Le plugin cache aussi la version Wordpress et sécurise la zone d’administration.
  • Le plugin login lockdown vous permet de contrôler les tentatives de connexion. Il règle par exemple le cas de scripts ou de robots qui font des attaques utilisant des dictionnaires.
  • Le plugin Wordpress login logger vous permet d’enregistrer les tentatives de connexion, et permet donc de retracer les attaques.
  • WP DB Backup est un plugin qui fait une copie de votre base de données wordpress. Utile dans le cas où un pirate aurait eu accès à votre worpdress et aurait publié ou supprimé des articles existants.

Il y aussi des tactiques efficaces comme ne pas autoriser l’accès à wp-admin, sauf provenant d’adresses IP sélectionnées. Les usagers ou les scripts avec une adresse inconnue auront alors une réponse 403.

Bien sûr, le minimum que vous pouvez faire est de mettre à jour à la version la plus récente, spécialement si c’est une version qui règle un problème de sécurité, comme c’est le cas de la 2.8.4.

5 commentaires tags:  | 
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes)

Gestion des temps de latence et la croissance d’un site

Publié le 16 avril 2009 à 8:30 par heri dans: Développement web, Hébergement web

Si vous parcourez les guides et les billets publiés sur le blogue de iWeb durant les 3 derniers mois, vous pourrez voir beaucoup d’articles sur comment mettre en place un site, comment choisir un serveur dédié, comment transférer un site web sur un nouveau hébergeur etc.

Jusqu’à présent, il n’y a pas eu d’articles avancés qui traitent des architectures plus complexes ou des conseils sur comment gérer la croissance d’un site web. La raison est simple: par expérience, c’est mieux de lancer d’abord le site web, d’avoir les premiers usagers, et alors optimiser quand des goulots d’étranglements et des problèmes de performance surviennent. La plupart des équipes de développement suivent ce principe; autrement, ils feraient de l’optimisation prématurée, et aussi dû au fait que chaque site web a différents besoins et donc différents problèmes techniques à résoudre.

Vous pouvez voir par exemple le graphique suivant pour le chargement de la page d’accueil de delicious:

delicious inspector

Cela a pris 1.85 sec pour afficher le site, sachant que d’autres sites comme flickr.com visent des temps de chargement totaux de 250 ms. Le graphique d’en haut montrent que la réponse http du serveur a pris 1.3 sec, ce qui est quasiment 2/3 du temps total. Cela signifie que c’est soit le serveur DNS, ou tout simplement les serveurs de delicious qui doivent traiter trop de trafic, et donc étaient de train de mettre peut-être la requête dans une file d’attente.

Voici un graphique pour un autre site web (TechEntreprise):
techentreprise inspector
Le temps de réponse est similaire à delicious, en 1.83sec, cependant c’est une réponse opposée par rapport à delicious: la réponse du serveur est en moins de 100ms, mais les fichiers statiques comme les fichiers, le css, ou le javascript prennent le reste du temps. L’envoi de fichiers statiques doit donc être optimisé sur ce site, en utilisant la compression, en essayant d’utiliser moins de fichiers statiques, ou d’utiliser des solutions d’hébergement avancées pour rendre le site plus rapide.

Lors de la durée de vie d’un site, une équipe de développement doivent donc surveiller ces données; et optimiser à chaque itération, à chaque fois sur un goulot d’étranglement différent. Le problème peut arriver dans:

  1. Les serveurs DNS
  2. La capacité des serveurs d’entrée
  3. La vitesse et la capacité des serveurs d’application
  4. La performance des serveurs de base de données
  5. Les serveurs de fichiers statiques

1. Serveurs DNS

Quand un nouveau usager veut visiter un site qui n’a pas été visité récemment, il doit y avoir d’abord une requête DNS. Les requêtes DNS peuvent être signifiants si le visiteur est sur un autre continent ou si vous avez des serveurs DNS lents. Learnhub, un site web réalisé par une compagnie Torontoise, voyait par exemple que le temps de réponse DNS pouvait prendre jusqu’à 500ms, et ils ont donc opté pour Dynect pour avoir un service ultra-rapide de DNS. Le graphique suivant montre les améliorations quand ils ont fait le changement:
dns dynect
Le temps de réponse est maintenant 3 fois moindre pour Learnhub, une amélioration importante pour tous ses usagers en Asie du Sud-Est.

2. Capacité des Serveurs d’Entrée

Ces serveurs sont les premiers à traiter votre requête, à les mettre dans une file d’attente, et ensuite les distribuer au serveur approprié, comme un serveur d’application, le cache (ou memcached). Ces serveurs peuvent être des programmes spécialisés (comme haproxy ou nginx, qui ont des fonctionnalités de répartition de charge integrées) ou cela peut être aussi des machine faites pour la répartition de charges. Dans d’autres sites web, Apache ou le serveur web peut être le serveur d’entrée et à la fois le serveur d’application.

Dans la plupart des architectures web, le goulot d’étranglement est rarement à ce niveau. Si c’est le cas, c’est peut-être parce que vous n’avez pas choisi le meilleur algorithme de routage, en choisissant par exemple le round-robin au lieu d’algorithme de route en fonction de la charge. Dans beaucoup de cas, il peut aussi arriver qu’il n’y a pas assez de serveurs d’application, et que les serveurs d’entrée attendent juste que les requêtes soient traités. Voici par exemple comment les temps de réponse changent quand vous rajoutez plus de connections aux serveurs d’application (avec le même répartiteur de charge en front)
haproxy tracker
C’est un changement significatif, donc améliorer le temps de latence d’un site web peut être juste un changement de configuration.

3. Performance des Serveurs d’Application

Le serveur d’application traite la requête, par exemple en envoyant une page personalisée selon les préférences de l’utilisateur.

Ceci dépend des technologies utilisées par le site web (php, python, java, ruby + et tout autre cadre d’application)

Si le goulout d’étranglement est le serveur d’application, il y a 2 chemins possible: soit optimiser le code de l’application web, ou faire la mise à l’échelle en utilisant plus de serveurs dédiés.

Optimiser le code est au-delà de ce qui est possible pour cet article; ça implique de tester, d’utiliser les meilleurs pratiques, de faire des tests de performance du code, et ensuite de “réusiner” (refactor en anglais) le code pour avoir un meilleur temps de réponse. Cherchez les meilleures ressources pertinents à votre technologie, testez-le, et cherchez de l’aide d’un consultant expérimenté ou d’une équipe de développement.

Si vous avez atteint un mur dans l’optimisation de code, vous pouvez penser à avoir des serveurs plus puissants, et chercher à trouver la meilleure formule de RAM et de CPUs, et utiliser ce serveur modèle pour fiare la mise à l’échelle horizontale. Une solution facile pour des sites web LAMP websites est disponible ici.

Beaucoup de sites web modernes (mettez le mot-clé “web2.0″ ici) ont aussi des fonctionnalités avancées comme des courriels pour usagers et des notifications avancées, le calcul du graphe social, un moteur de recherche, messagerie, des messages textes, traitement de vidéos et d’images, etc. Si vous avez de telles fonctionnalités, un moyen très rapide pour faire diminuer le temps de chargement est d’externaliser ces fonctionnalités à des serveurs dédiés. Vous pouvez par exemple utiliser des serveurs de messagerie comme ActiveMQ, RabbitMQ (un projet Apache) ou même kestrel (celui que Twitter utilise pour traiter le flux de tweets) pour envoyer la charge et les requêtes qui prennent plus de 500ms à des serveurs spécialisés. Faire des requêtes asynchrones permettent en théorie des temps de réponse instantané, donc c’est quelque chose que vous devrez regarder dès que vous avez une architecture avec 3 ou 4 serveurs dédiés.

Utiliser un système de cache est aussi une technique efficace pour traiter les requêtes, pour éviter qu’ils n’atteignent les serveurs d’application. Comme le code d’application, la technologie de système de cache dépend fortement de votre site web.

4. Serveurs de Bases de données

Heureusement, l’optimisation des serveurs de base de données est plus facile que les points précédents

Il y a des solutions connues et testées pour faire augmenter la charge de MySQL, de la réplication à des solutions de maître-esclave, et répartir les charges. Comme les serveurs d’application, vous pouvez chercher le meilleur matériel pour votre serveur, en utilisant des serveurs pro, et avec des disques dur avec des temps de latence minimes. Vous pouvez par exemple voir dans le graphe suivant comment MySQL se comporte pour différents serveurs sous différentes charges, et ensuite planifier en conséquence.
mysql cores server

Beaucoup de compagnies web utilisent aussi intensivement memcached avant les serveurs de base de données, pour pouvoir délivrer les objets les plus fréquement demandés de la mémoire.

5. Serveurs de Fichiers

Les serveurs de fichier sont chargés d’envoyer les fichiers statiques, comme les fichiers, les vidéos, les fichiers javascript, et d’autres éléments statiques comme des animations Flash.

Vous pouvez programmer votre application web pour servir moins de fichier (par exemple, mettre tous les fichiers javascripts dans un seul fichier), compresser les fichier (et ensuite g-zipper la réponse).

Optimiser les serveurs de fichiers statiques est probablement le plus facile lorsqu’il s’agit de réduire le temps de réponse d’un site web.

Recherche Twitter, le meilleur outil Marketing Depuis Google AdWords

Publié le 16 mars 2009 à 4:14 par heri dans: Développement web

Google Adwords réalise la grosse majorité des 21 milliards de dollars de la compagnie Google en 2008, et son succès repose sur le fait qu’il capture les volontés de ses usagers; on peut ainsi accéder aux visiteurs Internet qui cherchent quelque chose de précis à tout moment. Volonté est le mot-clé ici, c’est ce qui diffère une recherche Google d’une visite sur un site de médias, d’un blogue ou d’un réseau social, où les les gens recherchent plus du divertissement et à passer du temps, et non nécessairement à acheter un produit ou un service.

Aucune compagnie ne fait mieux que Google actuellement. Ils fournissent les meilleurs résultats, et obtiennent donc des visiteurs répétés. Ils travaillent aussi en même temps pour fournir les publicités les plus pertinentes, grâce à un algorithme de PPC unique et “intelligent”.

L’efficacité de Google Adwords dépasse bien d’autres outils de marketing Internet, comme les newsletters, le mailing, ou des bannières publicitaires.

Étonnament, la Recherche Twitter pourraît être la prochaine opportunité en or pour ceux qui font du marketing sur Internet, et pour Twitter et ses investisseurs aussi. Au-delà du service à la clientèle, et au-delà du suivi de la perception de la marque dans les médias sociaux, la Recherche Twitter peut être utilisé comme un outil de vente puissant.

tweetdeck tracking keywords

Par exemple, la capture d’écran TweetDeck a un panneau dédié aux usagers de Twitter qui ont utilisé l’expression “serveur dédié” (panneau 2). Les tweets vont des problèmes pour mettre en place un serveur dédié, à ceux qui recherchent des recommendations, ou ceux qui font du microblogage à propos des programmes qu’ils doivent installer. Si une compagnie vend des serveurs dédiés, c’est alors immédiat d’initier un premier contact avec une réponse, et d’acquérir potentiellement un client.

C’est un concept puissant, et ça va dans le même état d’esprit que Google Adwords: Twitter Search fait apparaître les intentions des usagers de Twitter, avec des gens recherchant des réponses maintenant, et qui sont ouverts au feedback. TweetDeck montre les résultats les plus récents dans le panneau, similaire à Google qui montre les résultats les plus pertinents dans la page de résultats. C’est encore plus puissant, puisque vous pouvez mettre un nom à chaque résultat, et vous pouvez accéder à la biographie de l’usager et son réseau.

C’est juste un exemple, et c’est facile de voir comment vous pouvez l’intégrer dans vos outils d’acquisition de clients. Vous pouvez suivre par exemple

wordpress near:Paris

si vous êtes un développeur Wordpress à Paris, ce qui vous permettra de voir les gens qui utilisent Wordpress à Paris et qui ont potentiellement besoin de vos services de spécialiste. Twitter Search a bien d’autres fonctionnalités, à regarder attentivement.

Comme tout outil nouveau, une compagnie ou un fournisseur de services doit avoir une stratégie réfléchie avec Twitter, puisque ça peut être comparé à aller s’introduire dans les conversations des gens dans un bar. Il y a une ligne à ne pas franchir entre une conversation authentique et des conseils (ce qui est l’utilisation idéale de Twitter), et spammer à l’aveuglde des usagers à propos de vos produits. Twitter (ou un outil tierce comme TweetDeck) manque aussi des outils pour gérer les fils de conversation, ce qui permettrait à une équipe de vente ou de service à la clientèle à assigner un usager Twitter à un répresentant. Des alertes, des notifications, tagger les usagers, marquer des usagers comme spam, voici aussi des fonctionnalités avancéws que Twitter a besoin d’implémenter et qui le transformerait en un géant de l’Internet.

Autres Articles pertinents:

Opportunités sur Internet

Publié le 13 mars 2009 à 3:35 par heri dans: Développement web

money venture technology Étant une industrie à très forte croissance, l’Internet réunit les espérances et les rêves de nombreux entrepreneurs en technologie, de jeunes parents à la maison, de pigistes, consultants, mais aussi les plans stratégiques de nombreux compagnies “classiques” qui veulent croître dans un domaine à forte croissance.

En tant que tel, il y a beaucoup de blogues et de sites web spécialisés dans le sujet de comment faire de l’argent en ligne, avec la plupart d’entre eux qui se concentrent sur des plans de “comment s’enrichir rapidement”, et la plupart qui ne valent pas un second coup d’oeil, puisqu’ils sont en fait des arnaques.

Voici un lien intéressant cependant, une liste de compagnies web qui gagnent le plus d’argent. Google est en tête de liste, à $21.8 milliards de revenues annuel, suivi de Amazon, Yahoo et Ebay.

Si vous publiez un site, jetez un coup d’oeil à la liste, cela donne des idées. Il y a un grand nombre de compagnies dans la publicité sur Internet, quelques unes dans le commerce (Amazon, Ebay, Zappos, Alibaba, overstock), mais il y a des compagnies qui détiennent un quasi-monopole

Paypal par exemple aurait besoin de plus de compétiteurs. Les blogueurs, les startups, de grandes compagnies de media auraient besoin d’un système de micro-payement, un système qui serait à la fois très facile pour les consommateurs, et avec les fonctionnalités suffisantes pour les compagnies qui l’utiliseraient.

La boutique de musique iTunes est aussi un modèle qui aurait besoin de plus de compétiteurs. C’est un quasi-monopole dans la distribution de musique et de média sur le web, et quoi de mieux que de démarer un nouveau service web maintenant dans ce domaine pour les consommateurs.

Nous pourrions aussi avoir plus de boutiques en ligne (surtout au Québec et au Canada où le e-commerce est quasiment à ses début). Zappos (chaussures) et Amazon (livres) sont de bons modèles; quelqu’un pourrait penser à des boutiques spécialisés dans l’habillement, ou dans l’électronique, ou en sports etc.

Bonne fin de semaine (pleine d’imagination) à tous!

0 commentaires  | 
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes)

À propos du blog de iWeb

Le blog d'iWeb couvre l'hébergement web, le développement web, la conception web, le marketing Internet et à peu près toutes les annonces concernant iWeb.