Blog

Blog
Les 5 meilleurs systèmes de gestion de contenus (CMS)  e-commerce.

Les 5 meilleurs systèmes de gestion de contenus (CMS) e-commerce.

Uncategorized

Lecture: 3 mn 

Le développement du e-commerce va crescendo, il est devenu très rentable, on l’estime à plus de 8% des ventes au détail.
Outil très puissant, le Système de Gestion de Contenu ou SGC ou Content Management System ou CMS en anglais est un ensemble de logiciels permettant de concevoir et de mettre à jour les applications et le sites web dynamiquement.
Désireux d’accroître votre business, d’avoir de la visibilité en ligne que vous soyez propriétaire d’une boutique de vêtement, de magasin de carrelage, vous disposez d’une multitude de plate-forme qui vous permettra de le réaliser. Alors quelles sont les meilleurs CMS couramment utilisés ?
Dans cet article nous énumérons le top 5 des meilleurs.

Les 5 meilleurs CMS.

 

WORDPRESS

Ce CMS est gratuit, libre et open-source est développé en php et basé sur une base de données MySQL est distribué par une entreprise américaine. Il a pour fonctionnalité de créer et d’administrer les sites de e commerce, de blog,de portfolio ,etc.En terme de site e-commerce wordpress dispose d’un plugin puissant, performant et complet nommé WOOCOMMERCE. Etant le leader de la plateforme WordPress, woocommerce vous permet de transformer votre site en un site marchand. Il est très facile d’utilisation, il ne requiert aucune connaissance technique particulière.L’inconvénient de cette plate-forme est qu’elle est la cible privilégiée pour les pirates informatiques. Donc il va falloir la sécurisé. WordPress est composé d’une vaste communauté d’expert multilinguiste.

 

Prestashop

Prestashop est destiné aux entreprises de petite taille, disposant d’un volume d’article et de produit très faible.
Sa configuration est gratuite parce qu’étant open source, ensuite il dispose d’une version payante qui fournit une solution Saas. Disposant de son propre marché d’extensions, Pestashop est destiné au amateur, parce que son installation requiert moins de connaissance technique. Il dispose également d’un tableau de bord qui permet d’administrer les sites e-commerce.Mais il est à noté que ses plu-gins sont payants,par-contre certains utilisateurs de ce cms trouvent que les fonctionnalités SEO native ne sont pas assez développées. Durant plusieurs années prestashop est resté la plateforme la plus utilisé en Europe principalement en France, donc elle dispose d’une grande communauté d’expert. Il vous permet de profiter gratuitement de la plate-forme durant 30 jours.

Dupral

Ce CMS est gratuit, libre et open-source est développé en php et basé sur une base de données MySQL tel que : LAMP, WAMP, XAMPP ou MAMP. En outre, elle offre la possibilité d’avoir un design personnalisable, d’optimisé pour le SEO, site mobile responsive, une haute performance, une haute sécurité, une puissante gestion des médias, facile et accessible.Il est destiné au petite et moyenne entreprise. Facile d’utilisation, Dupral est bien adapté au amateur ou au utilisateur disposant de moins de connaissance technique. Par-contre ,les utilisateurs de ce cms jugent que sa souplesse et son évolutivité le rendent souvent un peu lourd et gourmand en ressources.Il dispose d’une large communauté d’expert multi-langue.

Magento

Destiné au grande surface ayant des grands volumes de produits, catégories ou commandes.Magento dispose de deux différentes versions: la version Community et la version open source qui permet l’utilisation gratuite.Il permet de configurer tout le processus de la vente à l’achat, en remplissant tous les besoins du client. Il est à noter que le défaut majeur de cette plate-forme est que son interface back office n’est pas ergonomique. Ces nombreuses fonctionnalités ne permettent pas sa prise en main. Il dispose d’une large communauté d’expert anglophone. Mangento vous offre la possibilité de profiter d’une période d’essai de 30 jours.

Shopify

Orienté vers les petites et moyennes entreprises, Shopify constitue un service SaaS ,il fournit trois versions différentes à ces utilisateurs: une version économique, une autre aux fonctionnalités limitées et enfin la plus coûteuse destinées au grande surface. Par rapport à la version payante, shopify n’admet aucun frais d’installation ou de maintenance. Quant aux autres versions, ils sont plus limités c’est à dire, ils n’offrent pas d’avantage de fonctionnalités. Il dispose d’un back-office très facile d’utilisation. Mais contrairement à wordpress, shopify ne gére pas les optimisations SEO. Par contre, il ne dispose pas de communauté d’expert, il a sa propre équipe qui est chargé de lever ces différents doutes. Avec Shopify profiter gratuitement de 14 jours essai.

 

Vous avez un projet, des questions sur les systèmes de gestion de contenus (CMS)?

Lire
Utilisation de Firebase

Utilisation de Firebase

Cloud, Mobile Dev

Lecture: 2 mnLes plateformes de Cloud ont révolutionné la conception des applications grâce aux produits internationaux basés sur le : calcul, stockage, base de données, analyse, mise en réseau, service mobile… Dans cet article nous allons nous intéresser à l’utilisation de firebase, nous nous consacrerons à l’un des cloud les plus performant développé par Google. « Firebase« . Que veut dire Firbase ? Comment créer et ajouter des fonctionnalités Firebase à votre application ?

Firebase

Qu’est-ce que c’est ?

Racheté par Google en 2014, Firebase est une base de donnée dédiée à un grand nombre d’application  (Android, iOS, Javascript, Node.js, Unity, PHP, C++ …). Cependant firebase offre une multitude de produits variés: le développement, le marketing, la facturation, les autorisations… Les produits Firebase sont segmentés en trois catégories distinctes : Develop, Grow et Earn ( Développement,Croissance et Gain ). Mais la spécificité particulière de Firebase est qu’elle permet aux utilisateurs de votre application de s’inscrire  à l’aide d’ « identity providers ». Ils sont multiple  : Google, Facebook, Twitter et Github ou tout simplement un email et un mot de passe. Dans cet article nous allons nous orienter sur la création d’une application mobile avec du ionic auquelle nous allons plu-gué Firebase. Cela est extraordinaire, sans plus tarder nous allons créer notre premier projet.

Création d’un projet Firebase

Allez dans votre navigateur, ensuite vérifiez que vous êtes bien connecté à votre compte google, accédez à la plate-forme firebase grâce à cet url : https://console.firebase.google.com. Ensuite cliquez sur « Ajouter un projet », renseignez le nom et le pays/région, puis cliquez sur le bouton « Créer un projet ».

Ajout d’un projet firebase

 

Enregistrer l’application

Pour cette étape, nous allons cliquer sur le bouton Android pour ajouter Firebase à notre application client android. Alors nous aurons à renseigner quelques informations. Tout d’abord le nom du package de l’application Android, soit vous pouvez obtenir ceci à partir du fichier manifest.xml dans le projet, soit le nommé à votre guise, moi par exemple j’ai donné  » com.monarticle.android ».

Ajout dans firebase d’une application android

Télécharger le fichier de configuration

Après cliquez sur Ajouter une application, Firebase vous propose de télécharger le fichier googleservices.json , ensuite copiez le fichier googleservices.json dans le dossier app de votre projet. Une fois que vous avez enregistré ce fichier, cliquez sur Continuer.

Fichier de configuration

Ajouter le SDK Firebase

Ces instructions sont relatives à Gradle, le plug-in de services Google pour Gradle charge le fichier google-services.json que vous venez de télécharger. Modifiez vos fichiers build.gradle pour utiliser le plug-in.

  • Ajoutez le fichier build.gradle au niveau du projet(/build.gradle), classpath com.google.gms: google-services: 3.0.0.
  • Ajoutez le fichier build.gradle au niveau de l’application  (//build.gradle)
Ajout du Sdk firebase
  • Enfin, appuyez sur synchroniser dans la barre qui apparaît dans l’environnement de développement intégré.

Voila vous pouvez commencer à ajouter des fonctionnalités de Firebase à votre application.

 

Vous avez un projet ou des questions sur Firebase  ?

Pour aller plus loin :
https://firebase.google.com/
https://console.firebase.google.com

Lire
Utilisation d’Amazon Web Services (AWS)

Utilisation d’Amazon Web Services (AWS)

Cloud

Lecture: 4 mnAvec l’avènement des plateformes de Cloud, l’acronyme AWS fait de plus en plus son apparition dans l’architecture des applications (Web, mobile et desktop). Il est donc normal pour quiconque de se poser la question à savoir : Quel est l’Utilisation d’Amazon Web Services (AWS)Que veut dire AWS ? A quoi sert il ? …
Dans les lignes à suivre, nous tenterons d’apporter des précisions sur ces questions.

Amazon Web Services (AWS)

Qu’est-ce que c’est ?

Amazon Web Services (AWS) est une filiale d’Amazon.com qui fournit des plates-formes de cloud computing à la demande aux particuliers, aux entreprises et aux gouvernements, sur une base d’abonnement payant avec une option gratuite disponible pendant 12 mois. AWS génère 7 % du chiffre d’affaires d’Amazon et représente la première source de profit de l’entreprise, en 2015. Il dispose d’un large éventail de produits internationaux basés sur le cloud : calcul, stockage, base de données, analyse, mise en réseau, service mobile, outils de développement, outils de gestion, Internet des Objets, sécurité et applications d’entreprise. Ces services aident les organisations à travailler plus vite, à réduire leurs coûts informatiques et à mettre à l’échelle des applications.

Amazon Web Services regroupent plusieurs services proposés en ligne, il s’agit des services les plus connus : EC2 et S3.

Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Destiné aux développeurs, il est conçu pour faciliter l’accès aux ressources de cloud computing à l’échelle du Web. En d’autre terme, l’interface simple du service Web Amazon EC2 vous permet d’obtenir et de configurer des capacités avec un minimum d’efforts. Elle fournit un contrôle complet de vos ressources informatiques et vous permet d’exécuter votre application sur l’environnement informatique d’Amazon qui a fait ses preuves. Amazon EC2 réduit le temps requis pour obtenir et démarrer de nouvelles instances de serveurs à quelques minutes, ce qui vous permet de rapidement dimensionner la capacité, de l’augmenter et de la diminuer, au fur et à mesure des modifications de vos besoins de calcul.

Amazon S3

Amazon S3 est un stockage d’objets conçu pour stocker et récupérer n’importe quelle quantité de données, n’importe où : sites web, applications mobiles, applications d’entreprise et données de capteurs ou d’appareils IoT. Conçu pour offrir 99,999999999 % de durabilité, ce service stocke les données de millions d’applications utilisées par des leaders de tous les secteurs. Amazon S3 dispose de capacités de sécurité et de conformité complètes qui répondent aux exigences des réglementations les plus strictes qui soient. Ce service apporte davantage de flexibilité dans la manière de gérer les données pour optimiser les coûts, le contrôle des accès et la conformité. S3 fournit une fonctionnalité de requête en place, vous permettant d’exécuter des analyses puissantes directement sur vos données au repos dans S3. Enfin, Amazon S3 est la plate-forme de stockage la mieux prise en charge du marché et de partenaires intégrateurs de systèmes.

AWS est -il le précurseur du cloud computing ?

Qu’est ce que le cloud computing

Le cloud computing est la livraison à la demande de puissance de calcul, de stockage sur base de données, d’applications et d’autres ressources informatiques par le biais d’une plate-forme de services de cloud sur Internet, avec une tarification progressive.

Fonctionnement

Le cloud computing pemet d’accéder à des serveurs, à du stockage et à des bases de données, ainsi qu’une large gamme de services applicatifs sur Internet. Les plates-formes de cloud computing comme Amazon Web Services possèdent et entretiennent le matériel connecté en réseau requis pour ces services applicatifs. Vous allouez et utilisez ainsi uniquement les ressources dont vous avez besoin par l’intermédiaire d’une application web.

Avantages du cloud computing

Remplacer les coûts en capitaux par des coûts variables :

Au lieu d’investir massivement dans des centres de données et des serveurs avant de savoir comment vous allez les utiliser, vous pouvez ne payer que lorsque vous consommez des ressources de calcul.

  • Bénéficier d’importantes économies d’échelles :

Grace à cloud computing, vous pouvez obtenir un coût variable moins élevé que celui que vous auriez de votre côté. Dans la mesure où l’utilisation de centaines de milliers de clients est regroupée dans le cloud, les fournisseurs tels qu’Amazon Web Services peuvent bénéficier de plus grandes économies d’échelle, ce qui se traduit par des prix moins élevés à l’utilisation.

  • Cesser de deviner la capacité nécessaire :

Vous n’avez plus à deviner quels seront vos besoins en termes de capacités d’infrastructure. Avant de déployer une application, lorsque vous devez décider des capacités à allouer, vous vous retrouvez bien souvent à court ou, au contraire, avec des ressources inutilisées qui coûtent cher. Grâce au cloud computing, vous n’avez plus à vous soucier de cet aspect.

  • Vitesse et souplesse accrues :

Dans un environnement de cloud computing, il suffit d’un clic pour obtenir de nouvelles ressources informatiques. Ainsi, le temps nécessaire pour rendre ces ressources disponibles pour vos développeurs passe de quelques semaines à quelques minutes à peine.

  • Plus de dépense pour le fonctionnement et la maintenance  de centre de données :

Concentrez-vous sur des projets qui permettent à votre entreprise de se démarquer, et non sur votre infrastructure. Le cloud computing vous permet de vous concentrer sur vos propres clients, plutôt que sur le fardeau du rack, du stack et de l’alimentation des serveurs.

  • Sur le toit du monde en quelques minutes :

Déployez facilement votre application dans de nombreuses régions du monde, en seulement quelques clics. De cette manière, vous offrez une latence plus faible et une expérience plus agréable à vos clients, en toute simplicité et pour un coût réduit.

AWS est destiné à quel public ?

Amazon Web Services compte désormais parmi ses clients plus de 2 300 organismes publics, 7 000 établissements d’enseignement et 22 000 associations à but non lucratif à travers le monde. Il dispose de nombreux datacenter, en Europe (en  Allemagne, France et en Irlande) et sur tout les continents. En France , le cloud d’Amazon est  utilisé particulièrement par Millésima, Pretty Simple, Canal+, Le Figaro, Schneider Electric, Lafarge, la liste n’est pas exhaustive. Il est à souligner que  AWS n’est disponible sur la totalité du globe, en Afrique par exemple.

Vous avez un projet ou des questions sur AWS  ?

Pour aller plus loin :
https://aws.amazon.com/
https://aws.amazon.com/fr/solutions/

Lire
Push Notification Web

Push Notification Web

PWA

Lecture: 3 mn

Notifications push pour le web (démystifiées)

Web push notifications: quels sont les navigateurs compatibles ?

Avec les offres Progressive Web Apps, il est possible d’envoyer des notification push. Celle-ci sont reçues directement dans le navigateur web de l’utilisateur. Cette fonctionnalité est supportée par la majorité des navigateurs web récents, et la liste s’agrandit de jours en jours.

Le tableau ci-dessous donne une vue synthétique des OS/navigateurs qui sont compatibles avec la réception de notifications push. A chaque fois, c’est la dernière version stable du navigateur qui a été considérée dans notre étude.

Notifications push pour le web (démystifiées)

Web push notifications demystified – high resolution picture

 

Dans tous les systèmes d’exploitation, à l’exception d’iOS malheureusement, il existe un navigateur web capable de recevoir des notifications push. C’est très encourageant. Comme nous l’avons déjà évoqués, les PWAs sont le futur des apps. Même Apple semble vouloir rattraper son retard, avec l’annonce au cours de l’été du début des travaux pour l’utilisation de Service Workers dans Safari.

Les services workers sont une brique essentielle pour permettre une expérience riche dans une PWA. Ce sont eux par exemple qui gèrent la réception des notifications push dans tous les navigateurs du tableau ci-dessus. Tous, à l’exception de Safari, qui utilise un système propriétaire. Ce système permet de recevoir des notifications dans OS X, mais pas dans iOS. L’équipe en charge du développement de Safari n’a d’ailleurs pas encore indiqué si la réception des notifications push serait géré ou pas par un service worker une fois ceux-ci supportés. On espère que ce sera le cas, ou bien qu’une alternative sera proposée pour iOS.

 

Les pré-requis pour que ça fonctionne

Si vous êtes curieux et que vous souhaitez en savoir plus sur le fonctionnement des notifications push, je vous conseille de lire la page How Push Works,  dans la base de connaissance de Google. On y explique bien le concept d’envoi/reception des push.

Pour que les notifications push puissent être reçues, il faut que plusieurs conditions soient remplies.

De votre coté, vous devez établir une connection entre votre backoffice et les services tiers utilisés pour la distribution des notifications. Pour établir cette connection, il faut générer des clés d’API et/ou des certificats afin de garantir l’authenticité des échanges entre les serveurs de GoodBarber et les services de distribution des notifications. Pour Chrome, Firefox et Opera, nous utilisons Firebase, le plate-forme de Google. Pour Safari, nous utilisons APNs, la plate-forme d’Apple.

Du coté de l’utilisateur final, il n’y a pas grand chose à faire. Juste consulter la PWA depuis un navigateur compatible avec la réception des push (voir tableau ci-dessus) et bien sûr, une fois sur le site, accepter la réception des push.

Ensuite, à partir de votre backoffice, vous pourrez envoyer vos notifications.

 

Envoi et réception de notifications push

Depuis la page Users > Push > Envoyer  vous pouvez composer et distribuer votre notification push.

– Rédigez votre message
– Sélectionnez l’action qui sera effectuée lors de l’ouverture de la notification. Dans l’exemple de la copie d’écran ci-après, j’envoie mon utilisateur directement sur la page de réservation d’une table dans mon restaurant.
– Choisissez la date d’envoi du message. Immédiatement ou bien à une date ultérieure. Vous pouvez choisir de notifier l’utilisateur en respectant l’heure de son fuseau horaire.

La page vous indique le nombre d’utilisateurs (plus précisément le nombre de navigateurs web) qui recevront la notification.

Notifications push pour le web (démystifiées)

 

Du coté de l’utilisateur, la notification sera affichée sur son terminal. Les éléments visuels de cette notification sont personnalisables à partir de la page Builder > Ressources et Outils > Icônes

Parmi les icônes, vous trouverez l’icône de notification. Elle doit être monochrome sur fond transparent. Sur Android, elle s’affiche dans la status bar du téléphone lors de la réception du push. Lorsqu’on accède au détail de la notification, le logo du site apparait aussi.

Notifications push pour le web (démystifiées)

 

Notifications push pour le web (démystifiées)
La Progressive Web App vous permet de distribuer votre app dans un canal universel et libre, le web. Maintenant dotées des notifications push, les PWA de GoodBarber vous permettent de maintenir le lien avec vos utilisateurs web.

Vous avez un projet ?

Lire
Progressive Web App

Progressive Web App

PWA
Lecture: 5 mn

Développées sous Angular 4.0, les Progressive Web Apps sont une nouvelle manière de délivrer une expérience utilisateur incomparable sur le Web. Multi-plateforme, elles offrent au web des fonctionnalités jusque là réservées aux apps natives.

 

Les Progressive Web Apps offrent un nombre incroyable de possibilités tout en maintenant un niveau de performance exceptionnel. Pour que vous puissiez apprécier au mieux tous leurs atouts, commençons par voir en détails ce qui les rends si puissantes: les Service Workers.

 

Les Progressive Web Apps enregistrent en moyenne 3 fois plus de visiteurs que les apps natives et des sessions 8 fois plus longues que sur des sites web classiques. Des arguments qui en font un outil indispensable pour votre business, aussi bien pour attirer de nouveaux visiteurs que pour engager votre communauté existante.


Intro

Les Progressive Web Apps sont entrain de révolutionner le monde du web et des applications mobiles. Avec leurs fonctionnalités avancées, elles proposent une expérience utilisateur comparable à celle des applications natives, et ôtent certaines de leurs contraintes, notamment celle du passage obligé par les stores Apple et Google.

Outre l’oubli de la lourdeur et du prix des démarches de soumission aux stores, les Progressive Web Apps ont surtout l’énorme avantage de fonctionner par le biais des navigateurs web, et donc d’être référencées sur le web, les rendant beaucoup plus accessibles que les applications natives. Ainsi, grâce aux Progressive Web Apps, vous pouvez disposer d’un outil capable à la fois d’attirer des visiteurs, comme le ferait un site web, et de les fidéliser, comme le ferait une app native, puisque ces derniers auront la possibilité d’installer l’app sur l ‘écran d’accueil de leur appareils, et vous d’utiliser des méthodes d’engagement jusque la réservées aux apps natives comme par exemple les notifications push.


Qu’est-ce qu’un Service Worker?

Un Service Worker est un script qui permet aux développeurs de construire des fonctionnalités avancées. Il s’installe sur un navigateur et s’execute en arrière plan. Une fois installé il fonctionne de manière indépendante, et s’attèle à effectuer les tâches qui lui sont assignées par le développeur. En d’autres termes, il est capable d’intercepter les requêtes faites au serveur et pourra renvoyer une réponse soit en transmettant l’info émise par le serveur, soit en fournissant une version locale si il ne s’agit pas de la première demande.

Architecture PWA

Vous l’aurez compris, le Service Worker sert d’intermédiaire entre le navigateur et le réseau et va permettre de considérablement modifier l’utilisation des applications web, notamment au niveau de l’expérience utilisateur avec le stockage des données en cache, mais aussi grâce aux grandes libertés qu’il laisse au développeurs pour créer des fonctionnalités jusque là inédites sur le web.

Dans cet article nous allons nous attacher à 2 exemples de fonctionnalités rendues possible par l’utilisation des Service Workers:


1/ L’Accessibilité Hors Ligne

Il s'agit d'une fonctionnalité déjà présente dans certaines applications web: les fichiers de l'application sont stockés dans un cache grâce à l'utilisation d'Appcache qui permet également de les utiliser en cas de perte de connexion.

Aujourd'hui les Service Workers simplifient énormément l'utilisation de cette fonctionnalité en la rendant beaucoup plus flexible. A l'origine, les Service Workers ont été conçus comme une version améliorée d'Appcache, qui permettrait aux développeurs web de créer un système de fonctionnement hors connexion optimal. Les Service Workers interceptent les requêtes réseau et effectuent ensuite les actions définies par le développeur, en fonction de la disponibilité du réseau et des mises à jours disponibles sur le serveur.

Ainsi, les utilisateur de l'application ont la possibilité de consulter du contenu sans connexion internet et de profiter d'une excellente expérience utilisateur puisque les Service Workers vont permettre de stocker des fichiers localement, et donc de ne plus les charger aux prochaines visites.

Différentes stratégies de mise en cache peuvent être implémentés par les développeurs via les service workers. Voici le fonctionnement de la stratégie Cache then Network:

 


2/ Les Notifications Push Web

Les notifications push sont une fonctionnalité phare des applications natives. Elles donnent la possibilité de communiquer avec les utilisateurs de l'application de manière intuitive et pertinente permettant ainsi de créer des stratégie de fidélisation et d'engagement. Sa disponibilité sur les applications web est un énorme bond en avant pour les Progressive Web Apps qui les propulse au niveau des applications natives.

C'est la capacité des Service Workers à fonctionner en arrière plan qui rend possible l'utilisation des notification sur le web.  Pour ce faire, le développeur implémente à l'intérieur du Service Worker deux technologies distinctes mais indissociables: l'API Push et l'API Notification. La première est chargée de notifier le Service Worker de la présence d'une notification et la seconde de déclencher l'affichage de la dite notification dans le navigateur.

Notification Process

 

Dans la plupart des cas, la gestion et l'affichage des notifications push via les Service Workers s'appuient sur un service spécifique appelé FireBase. Il est à noter que dans le cas de Safari (le navigateur Desktop d'Apple), la gestion des notifications push web s'appuie sur le service de notifications push APNs créé par Apple, permettant à un prestataire de services externe d’envoyer des messages ou des commandes à n’importe quel device Apple fonctionnant sous OS X. Il est important de garder à l'esprit que les notifications pour le web n’apparaissent pas sur les devices Apple fonctionnant sous iOS (mobile).


Les limites des Service Workers

Il y a deux conditions sinequanone à l'installation d'un Service Worker dans un navigateur:

  • Les pages du site web concerné doivent absolument utiliser le protocole HTTPS, afin de garantir qu'il n'y a pas eu d'usurpation lors de l'installation du Service Worker.
  • Il faut utiliser un navigateur compatible avec l'utilisation des Service Worker. En voici une liste, qui a vocation à évoluer dans un futur proche, notamment avec le récent positionnement d'Apple pour Safari et Safari Mobile, et de Microsoft pour leur navigateur Edge.

Les Progressive Web Apps sont entrain de révolutionner le monde du web et des applications mobiles. Avec leurs fonctionnalités avancées, elles proposent une expérience utilisateur comparable à celle des applications natives, et ôtent certaines de leurs contraintes, notamment celle du passage obligé par les stores Apple et Google.

Outre l’oubli de la lourdeur et du prix des démarches de soumission aux stores, les Progressive Web Apps ont surtout l’énorme avantage de fonctionner par le biais des navigateurs web, et donc d’être référencées sur le web, les rendant beaucoup plus accessibles que les applications natives. Ainsi, grâce aux Progressive Web Apps, vous pouvez disposer d’un outil capable à la fois d’attirer des visiteurs, comme le ferait un site web, et des les fidéliser, comme le ferait une app native, puisque ces derniers auront la possibilité d’installer l’app sur l ‘écran d’accueil de leur appareils, et vous d’utiliser des méthodes d’engagement jusque la réservées aux apps natives comme par exemple les notifications push.

Vous avez un projet ?
Lire
CYCLE EN V

CYCLE EN V

Gestion de projet

Lecture: 2 mnAdapté à l’informatique des années 80, le cycle en V est une méthodologie de développement de projets informatiques qui n’est plus réellement compatible avec les attentes de time-to-market actuelles. Son principal défaut est l’effet tunnel, c’est à dire ce manque de visibilité pendant la phase de réalisation, et le manque de souplesse lors de changements.

 

Poussées par les attentes de nos clients, en particulier les startups et growups pour qui la lourdeur administrative de ce modèle (tout comme le modèle Waterfall) n’est pas adaptée, nos équipes de développement ont rapidement abandonné ces méthodologies séquentielles au profit d’une culture agile dans un esprit gagnant-gagnant. Nos clients sont gagnants car ils bénéficient rapidement des fonctionnalités à forte valeur ajoutée. Nos équipes sont également plus motivées par des projets sur lesquels elles participent aux décisions techniques et où elles peuvent plus facilement proposer des solutions fonctionnelles alternatives de part la plus grande proximité avec le product owner (client).

 

methode-agile
Méthodes agiles (Scrum)

Source: Shutterstock

 

Adopter un esprit agile pour une gestion plus efficace des projets

La méthode agile SCRUM que nous utilisons sur la quasi totalité de nos projets de développement permet de résoudre les problèmes du cycle en V tout en impliquant d’avantage tous les acteurs du projet :

  • Livraison plus rapide et itérative : le client bénéficie très tôt et continuellement d’un produit qui s’enrichit fonctionnellement au fur et à mesure de l’avancement du projet.
  • Contrôle qualité avancé : le contrôle qualité s’effectue très tôt dans le processus de fabrication et renforce la stabilité générale du produit.
  • Spécifications à la demande : les gains de temps sont considérables car les spécifications se font progressivement et tiennent compte des changements précédents
  • Équipe impliquée : l’équipe peut influencer les décisions prises sur le projet et participe collectivement à l’estimation et le contenu de la prochaine livraison.
  • Changements autorisés : les demandes de changements peuvent être rapidement intégrées. Les impacts sont alors réduits et permettent d’arriver rapidement un outil qui répond exactement aux attentes des utilisateurs.
  • Documentation optimisée : la documentation est réduite à son minimum et réalisée progressivement par l’ensemble de l’équipe.

Vous avez des questions liées à l’organisation des projets informatique ?

Pour aller plus loin visitez ce lien.

Lire
MÉTHODE AGILE – SCRUM

MÉTHODE AGILE – SCRUM

Méthodes Agiles

Lecture: 5 mnLes méthodes de développement agile, aussi appelé développement adaptatif, sont des méthodes axées sur les personnes avec pour objectif, la satisfaction du client en s’appuyant sur la réalisation d’un logiciel entièrement fonctionnel tout au long de sa fabrication.

PRINCIPE ET DIFFÉRENTES PHASES

 

Le principe de la méthode SCRUM est de développer un logiciel de manière incrémentale en maintenant une liste totalement transparente des demandes d’évolutions ou de corrections à implémenter (backlog). Avec des livraisons très fréquentes, toutes les 4 semaines en général, le client reçoit un logiciel à chaque fois, un logiciel possédant toujours plus de fonctionnalités et en parfait état de fonctionnement. Pour cela, la méthode s’appuie sur des développements itératifs à un rythme constant d’une durée de 2 à 4 semaines.  Les évolutions peuvent donc être plus facilement intégrées que dans un cycle en V.Méthode Agile Scrum Pentalog

Concrètement, cette méthode nécessite 4 types de réunions :

  • Les réunions quotidiennes : chaque jour, toute l’équipe se réunit, généralement debout, pendant 15 minutes environ pour répondre aux 3 questions suivantes : qu’ai-je fait hier ?, Que vais-je faire aujourd’hui ? Y a-t-il un obstacle gênant aujourd’hui ?
  • Les réunions de planifications : toute l’équipe se réunit pour décider des fonctionnalités qui vont composer le sprint suivant et mettre à jour la liste générale.
  • Les réunions de revue de travail : lors de cette réunion, chacun présente ce qu’il a fait pendant la durée du sprint. Une démonstration des nouvelles fonctionnalités ou de présentation de l’architecture est organisée. Il s’agit d’une réunion informelle de 2 heures environ à laquelle participe toute l’équipe.
  • Les réunions de rétrospectives : à chaque fin de sprint, l’équipe fait le point sur ce qui à bien fonctionné et sur ce qui a moins bien fonctionné. Lors de cette réunion d’une durée de 15 à 30 minutes où chacun est invité et parle en son nom, un vote de confiance est organisé pour décider des améliorations à apporter.

L’avantage de la méthode est de réduire au strict minimum la documentation afin de gagner en productivité. L’idée ici est de ne faire que la documentation minimale qui permet de garder l’historique des décisions prises sur le projet et de pouvoir facilement intervenir sur le logiciel lorsqu’il sera entré en phase de maintenance.

ORGANISATION

 

La méthode SCRUM AGILE fait intervenir 3 rôles principaux qui sont :

  • Product owner : Dans la majorité des projets, le responsable produit (product owner) est le responsable de l’équipe projet client. C’est lui qui va définir et prioriser la liste des fonctionnalités du produit et choisir la date et le contenu de chaque sprint sur la base des valeurs (charges) qui lui sont communiquées par l’équipe.
  • ScrumMaster : Véritable facilitateur sur le projet, il veille à ce que chacun puisse travailler au maximum de ses capacités en éliminant les obstacles et en protégeant l’équipe des perturbations extérieures. Il porte également une attention particulière au respect des différentes phases de SCRUM.
  • Equipe : d’une taille allant de 4 à 10 personnes en général, l’équipe regroupe tous les rôles habituellement nécessaires à un projet, à savoir l’architecte, le concepteur, le développeur, le testeur, etc. L’équipe s’organise elle-même et elle reste inchangée pendant toute la durée d’un sprint.

AVANTAGES DE LA MÉTHODE SCRUM AGILE

Scrum se différencie des autres méthodes de développement par ses avantages qui font de ce procédé une réponse pragmatique aux contraintes actuelles des chefs de produits :

  • Méthode itérative et incrémentielle : cela permet d’éviter “l’effet tunnel”, c’est-à-dire le fait de ne voir le résultat qu’à la livraison finale et rien ou presque rien pendant toute la phase de développement, si fréquent dans les développements avec le cycle en V.
  • Adaptabilité maximale pour du développement de produits et d’applications : la composition séquentielle du contenu des sprints permet d’ajouter une modification ou une fonctionnalité qui n’était pas prévue au départ. C’est principalement cela qui rend cette méthode “agile”.
  • Méthode participative : chaque membre de l’équipe est invité à s’exprimer et il peut participer à toutes les décisions prises sur le projet. Il est donc plus impliqué et plus motivé.
  • Augmentation de la communication : en travaillant dans la même salle de développement, ou en étant connecté avec différents moyens de communication, l’équipe peut communiquer facilement et échanger sur les obstacles afin de les supprimer au plus tôt.
  • Maximisation de la coopération : les échanges quotidiens entre le client et l’équipe Pentalog permettent un rapprochement et une entraide se met logiquement en place.
  • Augmentation de la productivité : en supprimant certaines “contraintes” des méthodes classiques comme la documentation ou la formalisation exagérée, SCRUM permet d’augmenter la productivité de l’équipe. En ajoutant à cela la qualification de chaque module permettant d’en déterminer un chiffrage, chacun peut se positionner par rapport à la productivité moyenne de l’équipe.

RISQUES ET SOLUTIONS DE LA MÉTHODE

La méthode SCRUM Agile n’est pas une réponse miracle à tous les problèmes inhérents au développement de logiciels informatiques. Il faut rester vigilant sur les risques ci-dessous, risques qui possèdent néanmoins, une réponse systématique puisée dans l’extrapolation de la méthode :

  • Taille de l’équipe : généralement limitée à 7 ou 10 personnes, la taille de l’équipe peut devenir un obstacle si elle dépasse ces préconisations. L’organisation des réunions devient alors impossible et les fondements mêmes de la méthode sont alors mises à mal.  La solution consiste à réaliser des Scrum de Scrum. Il s’agit ici de constituer de scinder le projet en équipes de taille recommandée et d’ajouter une instance de niveau supérieure regroupant les ScrumMaster de chaque Scrum.
  • Demandes multiples : Les demandes peuvent émaner de multiples canaux sur un projet et peuvent parfois être difficile à gérer du fait de leur aspect contradictoire. Au niveau de la recette des livraisons, ces contradictions peuvent alors ralentir le processus de validation. Pour remédier ce problème, il est impératif d’utiliser un outil unique de gestion des demandes, outil qui est proposé en standard sur les projets Pentalog.
  • Qualité des développements : Plus le nombre d’équipes augmente, plus la qualité est difficile à maîtriser. Ce postulat est d’autant plus vrai dès lors que le projet est réparti sur plusieurs sites. Les risques sont particulièrement liés à la qualité du code et au nombre de défauts répertoriés au moment de l’intégration. Pour cela, il est important d’avoir une politique qualité rigoureuse et un plan qualité projet qui définit précisément les règles du projet. Des audits de code fréquents et la mise en place d’indicateurs mesurant la performance des développeurs permettent de minimiser ce risque.

A QUI S’ADRESSE CE TYPE D’ORGANISATION ?

 

L’organisation SCRUM peut être utilisée dans la plupart des projets. Néanmoins, elle est particulièrement adaptée pour les projets ne répondant pas à un périmètre stricte et pour lesquels le client souhaite un suivi et une visibilité, en d’autres termes, une implication, très important dans le cycle de développement.

 

L’aspect “disponibilité” coté client est un critère déterminant dans le choix de cette méthode de développement. En effet, nous estimons un ETP proche de 1 le temps nécessaire au product owner pour répondre aux exigences de cette méthode : transfert de certaines actions du chef de projet dans une méthode classique vers le product owner (distance entre l’équipe et le besoin).

Vous avez des questions liées à l’organisation des projets informatique ? La méthode Scrum est-elle adaptée à votre organisation ?

Pour aller plus loin visitez ce lien.

Lire