Blog

Portrait de Stamatia Mavri, Développeuse Drupal

emeline.peysson
27/11/2019
Après de brillantes études d’ingénierie informatique en Grèce, Stamatia a rejoint l’équipe d’Axess Open Web Services en 2018. Interview vérité sur son métier de développeuse Drupal / PHP / MySQL.
Stamatia Mavri Développeuse Drupal

Après de brillantes études d’ingénierie informatique en Grèce, Stamatia a rejoint l’équipe d’Axess Open Web Services en 2018. Interview vérité sur son métier de développeuse Drupal / PHP / MySQL.

Axess Groupe : Peux-tu te présenter rapidement ?
Stamatia Mavri : Je m’appelle Stamatia et je suis développeuse Drupal depuis 3 ans maintenant.

A.G : Tu viens de Grèce c’est ça ?
S.M : Tout à fait. Mais je souhaitais voir autre chose et bouger. J’ai donc profité du fait d’avoir des amis ici (en France) pour découvrir le pays. Aujourd’hui, j’y exerce le métier que j’aime.

A.G : Comment es-tu devenue développeuse ?
S.M : Pour être honnête, je n’ai pas vraiment choisi ce métier par vocation, mais parce qu’il y avait des débouchés dans ce secteur. Puis, lorsque j’ai commencé mes études, j’ai découvert le digital et ses différents aspects. Ça m’a vraiment plu. Je me suis donc spécialisée au fur et à mesure des années pour aujourd’hui devenir développeuse web.

A.G : Que préfères-tu dans ton métier ?
S.M : Sûrement le fait de pouvoir travailler sur différents projets à la fois. Cela me permet d’apprendre constamment de nouvelles choses et d’évoluer tant humainement que techniquement.

A.G : Et quelles seraient les plus grandes difficultés du poste selon toi ?
S.M : Déjà, il est indispensable de savoir organiser son temps car c’est un métier où il faut savoir jongler en permanence avec différentes tâches. Sans compter qu’il faut se tenir au courant des dernières technologies et outils qui apparaissent sur le marché.

A.G : C’est donc un métier où il faut être curieux ?
S.M : Oui en effet. Je pense que sans curiosité, il est très difficile d’être développeur.

A.G : Et tu as toujours travaillé sur Drupal ?
S.M : Oui, toujours. A l’école, j’ai bien appris d’autres langages web mais j’ai toujours utilisé Drupal. Même dans l’entreprise où je travaillais précédemment, j’étais sous Drupal.

A.G : D’ailleurs, pourquoi avoir décidé de rejoindre Axess Open Web Services ?
S.M : Pour l’envie d’évoluer et la volonté de voir autre chose. Aujourd’hui, je ne regrette pas mon choix. L’entreprise est bien organisée, il y a une bonne ambiance et j’ai une belle relation avec mes collègues de travail. De plus, chez Axess, nous avons l’opportunité de pouvoir être actif dans la communauté Drupal. J’ai d’ailleurs eu la chance de participer au dernier DrupalCon qui s’est tenu à Amsterdam en octobre dernier.

A.G : Le DrupalCon ? Tu peux nous en dire plus ?
S.M : C’était une première pour moi et j’ai adoré. Le DrupalCon est un des rassemblements incontournables de la communauté Drupal. J’ai pu y rencontrer des personnes du monde entier et échanger avec eux sur leurs expériences, leur métier et leur façon de travailler. Quatre jours de sessions très intéressantes qui m’ont permis d’en apprendre plus sur les nouveautés de Drupal 8 et d’en savoir davantage sur Drupal 9 qui arrivera prochainement.

A.G : Une date de sortie pour Drupal 9 ?
S.M : C’est dans quelques mois, le 3 juin 2020 pour être précise. Il y aura bien entendu des évolutions, mais cette version ne devrait pas être trop différente de la précédente. Le véritable objectif de Drupal 9 est de rendre le CMS accessible à tous.

A.G : Pour en revenir à ton métier, à quoi ressemble une journée type de travail quand on est développeuse Drupal chez Axess Open Web Services ?
S. M : Tout commence par un café ! Ensuite, je regarde mon planning, les projets en cours ainsi que les tickets ouverts. Une fois cela fait, je peux commencer à travailler.

A.G : Et tu utilises beaucoup d’outils différents ?
S.M : Pour le codage, j’utilise PHPStorm. C’est un éditeur PHP, HTML, CSS et JavaScript. Ensuite, Redmine me suit partout car il me permet de gérer les tickets. Et enfin, Toggl pour le temps passé sur chacune de mes tâches et de mes projets.

A.G : En parlant de ça, quel est pour toi le plus beau projet auquel tu aies participé ?
S.M : Je dirais celui de Paris Musées car c’est un des premiers projets sur lequel j’ai travaillé quand je suis arrivée chez Axess Open Web Services. J’ai d’ailleurs toujours la chance de le suivre aujourd’hui. C’est ce que j’aime le plus dans mon métier : mener un projet de A à Z, réfléchir aux configurations possibles, coder, mettre en production, faire évoluer, etc. C’est motivant et inspirant !

A.G : Pour terminer cette interview, tu aurais un conseil à donner à ceux qui souhaitent devenir développeur ?
S.M : Si je devais n’en donner qu’un seul, ce serait celui d’aimer son travail, d’être passionné. C’est indispensable dans ce métier !

 

DrupalCon Amsterdam - Episode 2 : Etat des lieux sur Drupal Commerce 2019

Nono
08/11/2019
Toujours dans le sujet de la dernière DrupalCon qui s'est déroulée à Amsterdam en octobre dernier, focus sur l'actualité de Drupal Commerce.
Drupal Commerce

ROAD MAP

» Voir la vidéo de la conférence : https://www.youtube.com/watch?v=bSeG7YTCvks

Ryan Szrama, fondateur et CEO de l'entreprise Commerce Guys, maintenant renommée Centarro, est à l’origine du projet d’e-commerce le plus célèbre de Drupal. Au cours d'une conférence intitulée  "Taking Drupal Commerce to Market: 2019 Roadmap", il a fait le point sur l'avancement du projet Drupal Commerce.

Drupal Commerce offre avant tout un framework complet pour la construction de plateformes d'e-commerce. Et à la différence de ses concurrents (comme par exemple WooCommerce), cette nouvelle version a vraiment été pensée dans son ensemble (de manière "holistique") pour pouvoir s'adapter à tous les cas possibles. Et bien qu'atteignant un niveau de qualité et de flexibilité comparable (voir supérieur) à ses concurrents les mieux notés, la solution reste (et restera) complètement gratuite et Open Source.

Par ailleurs, l'e-commerce découplé est en pleine expansion et Drupal Commerce possède plusieurs avantages distinctifs par rapport à ses concurrents :

  • Pas de coût de licence
  • Une communauté active et expérimentée
  • Une flexibilité du framework
  • Une possibilité de construire des processus de paiement sur-mesure
  • Une gestion innée de l'internationalisation

Pourtant, malgré tous ses avantages et de multiples "success stories", Ryan nous rappelle que Drupal Commerce n'est pas souvent évoqué dans les conversations quand vient la question de savoir "quelle solution d'e-commerce choisir ?".

Les raisons à ce manque de visibilité sont multiples, mais la principale cause est l'avantage que possèdent les plateformes concurrentes d'avoir une voix faisant autorité derrière leur application, entraînant une bien meilleure promotion de la solution. Et cela que soit pour les études de cas mises en avant, la définition et mise en place de stratégies de marketing, ou même l'établissement clair et simple d'une roapmap pour le développement de nouvelles fonctionnalités. C'est un peu le revers de la médaille de l'Open Source !

 

Malgré tout, les efforts pour améliorer la solution continuent à un rythme encourageant :

  • Le module Commerce Address Book est finalement prêt. 

  • Dans la prochaine version, la prise en charge des différents taux de TVA sera en place.

  • Le module Commerce Invoice sera bientôt opérationnel et permettra une gestion complète de la facturation.

  • L'intégration de plateformes de paiement (Paypal, Stripe, etc) continue, notamment dans le cadre du respect de la réglementation européenne (EU PSD2).

  • Le support pour le module Commerce Reports est étendu par NY MEDIA. Nous devrions avoir de "jolis graphiques" à disposition bientôt, le reporting étant un élément clé du e-commerce.

  • La société "éditrice" Centarro met en place un véritable service de support professionnel pour Drupal Commerce (avec abonnement payant), afin que les utilisateurs trouvent plus facilement réponses à leurs questions.

  • La mise en place d'une roadmap claire pour l'ensemble de l'ecosystème. Vous pouvez la découvrir via ce lien : https://www.drupal.org/project/commerce/issues/2913801

  • Faciliter l'évaluation pour de nouveaux utilisateurs

    • Un "project template" est disponible pour composer. Il est ainsi possible d'installer un nouveau Drupal Commerce en une ligne de commande.

    • Dans le cadre d'un partenariat avec Nerdstein, il est désormais possible d'avoir une démo de Drupal Commerce en quelques clics et minutes sur simplytest.me.

 

Et pour finir, une des bonnes nouvelles est que Drupal Commerce 2 est déjà prêt pour Drupal 9 (qui sortira en juin 2020, dans 8 mois). Cela sera rendu possible grâce à la nouvelle stratégie de la communauté pour rendre plus simple les mises à jour pour les prochaines versions majeures (voir notre précédent billet de blog à ce sujet). Cette nouvelle peut paraître banale mais pour tous ceux qui ont connu l'expérience de la migration d'une solution d'e-commerce sous Drupal vers une nouvelle version majeure, c'est une grande bouffée d'air frais de savoir qu'il ne va pas falloir tout reconstruire encore une fois.

Pour rappel le passage de Ubercart à Drupal Commerce V1 (en Drupal 7) aura pris trois ans. Quant au passage de Drupal Commerce V1 à cette nouvelle version, elle aura également pris 3 ans.

 

    Drupal commerce : Qu'est ce qu'il y a sous le capot ?

    » Voir la vidéo de la conférence : https://www.youtube.com/watch?v=gknvo8-Hkkw

    » Voir les slides de la conférence :http://presentations.robiningelbrecht.be/drupalcon-amsterdam-2019/

    Lors de cette conférence Robin Ingelbrecht nous présente comment manier Drupal Commerce en tant que Framework. 

    Comment ajouter une étape dans le tunnel de commande ? Comment appliquer un cout d'expédition automatique si un produit possède une condition particulière ? Comment appliquer une réduction automatiquement si le panier dépasse un seuil (en montant et/ou en quantité de produits) ?

    Toutes ces questions, et bien d'autres encore ont leurs réponses dans cette présentation, qui est l'une de nos favorites de ce DrupalCon. Il s'agit du tutoriel parfait pour tout développeur backend commençant à mettre les mains dans la nouvelle version de Drupal Commerce.

     

    Conclusion

    Pour notre part, nous sommes plutôt enthousiaste par ce qu’apporte cette nouvelle version de Commerce. Elle est vraiment bien pensée en tant que Framework d’Ecommerce complet. En effet, tout est facilement implémentable, car il est possible de créer des plugins pour tous les cas (cf : plus haut la conférence de Robin Ingelbrecht). Pas de question de comment on va devoir tordre le système pour pouvoir répondre aux besoins du projet. Et la maintenance sur le long terme se promet déjà beaucoup plus simple et rapide que pour celle en Drupal 7. Enfin, avec les modules Invoice, Reports, et AdressBook, le framework est “complet” (ou quasiment).

    Néanmoins cette flexibilité vient avec un coût, celui de la complexité et du temps nécessaire pour comprendre l'outil quand on le découvre. Mais c'est là un peu la nature même de Drupal, sa principale force et faiblesse depuis toujours.

    Comme l'a résumé Dries Buytaert récemment, "Drupal est fait pour les projets digitaux ambitieux".  Cela signifie souvent pas mal de complexité, avec des besoins et des développements sur-mesure. Et malgré les meilleurs efforts, cela reste la responsabilité du développeur de faire attention à ce qui se passe.

    La principale difficulté que rencontre Drupal Commerce est en fait le passage de Drupal 7 à 8. Il nécessite parfois une véritable ré-écriture de modules, en plus de mises en places des processus de migration de contenus. Tout cela engendre un coût et réduit donc les chances de voir un client accepter de continuer à utiliser un CMS pour lequel la maintenance engendre un tel coût... A nous de lui faire changer d'avis en démontrant que cet investissement est payant sur le long terme !

    Portrait de Jean Fenouil, Chef de projet technique

    emeline.peysson
    14/06/2019
    Après de nombreuses années d’expérience en tant que développeur Drupal et Symfony 2 sur des projets d’envergure, Jean a rejoint l’aventure Axess Open Web Services en 2016. Il est aujourd’hui Chef de projet technique. Focus sur ce métier passionnant !
    Jean-Fenouil

    Après de nombreuses années d’expérience en tant que développeur Drupal et Symfony 2 sur des projets d’envergure, Jean a rejoint l’aventure Axess Open Web Services en 2016. Il est aujourd’hui Chef de projet technique. Focus sur ce métier passionnant.

    Axess Groupe : Que préfères-tu dans ton métier ?
    Jean Fenouil : Je pense que c’est la partie relationnelle.
    Quand tu es Chef de projet, tu es avant tout une interface entre le client, les architectes et les développeurs, l’objectif étant de trouver des solutions et des compromis pour chacun.

    A.G : Quelles est la plus grande difficulté du poste selon toi ?
    J.F : Le nombre de projets simultanés est parfois important et il est délicat de statuer sur des compromis entre les difficultés de réalisation et ce que veut le client.
    Il faut aussi savoir gérer d’éventuels retards, s’organiser en conséquence et reprioriser ses tâches.

    A.G : Il faut donc être agile…
    J.F : Exactement. Et ne pas avoir peur d’être interrompu régulièrement !

    A.G : Un conseil pour ceux qui souhaiteraient devenir Chef de projet ?
    J.F : Il faut être curieux de son métier, avoir un bon relationnel et savoir être agréable. Si tu as toutes ces qualités, il n’y a pas de raison que ça se passe mal.

    A.G : Un autre conseil ?
    J.F : Ne pas s’imaginer qu’il faut d’abord être développeur avant d’être Chef de projet. Ce sont des métiers différents. La continuité de développeur serait plutôt d’être architecte.

    A.G : Pourtant, tu as pris une voie différente…
    J.F : C’est vrai et c’est un véritable « plus » dans mon quotidien, surtout chez Axess Open Web Services.
    Ma culture technique me permet aujourd’hui de savoir évaluer les temps et de mieux guider mes équipes. Je peux aussi faire d’éventuelles vérifications et prendre des décisions rapidement si les développeurs ne sont pas disponibles quand j’en ai besoin.

    A.G : A quoi ressemble ta journée type ?
    J.F : C’est travailler sur plusieurs projets en simultané, entre 3 et 4 généralement. Des projets qui demandent souvent soit de la technique, soit de la maintenance.
    Je gère également les plannings, assure parfois une réunion en interne et reçois ou passe quelques appels téléphoniques à mes clients.

    A.G : Et pour ça, quels outils de travail utilises-tu ?
    J.F : Redmine pour la gestion des tickets, PHPStorm pour le développement, TeamGantt et Excel pour les plannings.
    J’utilise également ma boite mail et les sites web de mes clients bien entendu.
    Enfin, Toggl m’accompagne tout au long de la journée et m’indique le temps passé sur chacune de mes tâches.

    A.G : Et sinon, pourquoi avoir décidé de rejoindre Axess Open Web Services ?
    J.F : C’est déjà pour pouvoir travailler sur de beaux projets. Des projets majoritairement institutionnels et qui portent de belles valeurs.
    La seconde raison concerne la société en elle-même et sa taille humaine. Chez Axess Open Web Services, tu connais tes collègues et il existe un rapport de confiance avec ta direction. La taille de l’entreprise te permet également de voir directement l’impact des actions que tu mènes et évite beaucoup d’inerties.

    A.G : Si tu devais me citer le plus beau projet auquel tu ais participé chez Axess Open Web Services, ce serait lequel ?
    J.F : C’est un des premiers projets sur lequel j’ai travaillé quand je suis arrivé : celui de La Cité de l’architecture et du patrimoine.
    C’est un site agréable, efficace et sans trop de complexité. Sans compter que les clients sont exemplaires et humains. Ils ont des demandes réalisables et savent écouter nos conseils.

    A.G : C’est la fin de cet interview. Tu aimerais ajouter une dernière chose ?
    J.F : Oui. Ne pas oublier qu’être Chef de projet, c’est avant tout être humain !
    Je pense que le terme « Chef » n’a pas lieu d’être. Je dirais plutôt que je suis un « facilitateur » d’échanges entre les équipes et le client.

     

    Retour sur la dernière faille de sécurité majeure drupal (SA-CORE-2019-003)

    slybud
    28/02/2019
    Retour d'expérience sur la dernière faille de sécurité du core Drupal et comment nous avons géré cela sur les sites que nous maintenons en TMA chez Axess Open Web Services
    Drupal Security Alert

    Vous l'avez sans doute remarqué, cela fait maintenant deux ans que les failles de sécurité majeures se multiplient sur le core de notre CMS/CMS favori (Drupal pour ceux.elles qui se seraient vraiment perdu.e.s et seraient arrivé.e.s sur ce billet de blog en tapant "croisement cochon d'inde licorne"). Deux manières de voir les choses :

    • Drupal est un CMS peu fiable et les failles de sécurité sont légion, c'est peu rassurant
    • Drupal, en tant que logiciel (libre ou non), est un ensemble de lignes de code exposé comme les autres et il faut souligner la maturité de cette outil dans la gestion de sa politique de sécurité avec une équipe dédiée à la sécurité et des process clairs.

    Devinez quel point de vue nous avons adopté à AOWS ? ;-)

    Il m'a semblé intéressant de vous raconter comment se passe une mise à jour de sécurité critiques pour les sites dont nous assurons la TMA (plusieurs dizaines, la plupart très sensibles), et quels process nous avons mis en place au fur et à mesure des années pour gérer sans encombre ces événements.

    Pour résumer :

    • Nos architectes et chefs de projet techniques suivent de près les publications de la security team et les annonces de sécurité
    • Une faille de sécurité majeure, telle que celle du 20/02/2019, est annoncée quelques jours auparavant par la security team drupal
    • A ce moment, l'annonce est analysée par nos architectes techniques afin d'évaluer au mieux les risques
    • En parallèle, notre directeur d'activité recense les membres de l'équipe qui pourront être présents le jour J, à l'heure dite, sur la base du volontariat/en fonction des contraintes de chacun
    • La liste des sites que nous maintenons est vérifiée en amont et les mises à jour sont réparties entre les forces qui seront présentes le jour J
    • Les clients sont prévenus (Mail et/ou interface de tickets Redmine) de la future mise à jour, et éventuellement leurs hébergeurs si nous ne pouvons pas déployer nous même
    • Les pizzas et autres nourritures à forte teneur en calories techniques sont commandées
    • L'équipe attend fébrilement la sortie de la faille et du/des patch(es)
    • Ces éléments sont analysés par nos architectes techniques dés leur sortie
    • Un plan est établi en fonction des typologies de sites impactés et des priorités et les mises à jour + déploiement commencent
    • La check-list est vérifiée
    • Tout le monde peut reprendre une activité normale et dormir sur ses deux oreilles

    Je ne vous ai pas parlé ici de la coopération renforcée avec les administrateurs systèmes qui dans certains cas nous permettent de court-circuiter pas mal d'étapes pour tous les sites hébergés par nos soins, en concoctant un script magique qui recherche toutes les instances drupal sur un serveur et les patche ensuite dans la foulée. Tout cela est déployé en un clic avec notre système d'orchestration Saltstack : c'est le pouvoir et la magie noire du DevOps !!

    Si vous souhaitez nous confier votre projet de Site Internet et/ou de TMA drupal pour bénéficier de tous ces process, n'hésitez pas à nous contacter !

     

    Bilan #Drupalgeddon

    slybud
    29/06/2018
    Sécurité : Retour sur les épisodes #DrupalGeddon 2018 @OWS et @OWNS
    Photo de l'équipe OWS au travail le soir du DrupalGeddon2

    Autant 2015, 2016, 2017 ont été des années relativement "normales" en termes de failles de sécurité sur notre CMS préféré (le dernier épisode hautement critique datant d'octobre 2014 : faille Sql injection connue sous le nom de "Drupalgeddon"), autant 2018 aura démarré déjà bien fort en nous proposant 2 failles hautement critiques dans le core drupal, toutes version confondues (8, 7 et même Drupal 6, car oui, il existe encore des Drupal6/Pressflow en production, ne faites pas les innocents).

    Je profite de ce billet de blog pour féliciter toutes les équipes OWS et OWNS pour leur implication, leur préparation et leur professionnalisme au cours de ces deux événements. Pour rappel, la publication de ce genre de failles nécessite des réactions dans l'heure afin de garantir la sécurité des sites de nos clients et la non compromission de leurs systèmes d'information.

    Petit rappel du (bon) déroulement des opérations , n'hésites pas à nous contacter si vous souhaitez en savoir plus ou voir comment nous pourrions vous aider à mettre ces process en place. Pour les clients disposant d'un contrat de TMA chez OWS, cela s'est passé de la manière suivante :

    • Veille technologique hebdomadaire de nos architectes techniques et lead développeurs, ayant permis de prendre connaissance une semaine avant de la SA et de la fenêtre de release des patches
    • Mobilisation des équipes pour réserver du temps de travail sur ce créneau inhabituel (20h-22h pour le premier épisode) et vérifier la disponibilité de chacun
    • Vérification de l'état de toutes les instances (preprod et prod) des drupal maintenus
    • Déploiement éventuel des développements/mises à jour en attente ou création des branches git adéquates
    • Vérification de l'intégration continue pour tous ces projets
    • Recensement des hébergeurs tiers et prise de contact pour les prévenir des déploiements nécessaires sur le créneau visé
    • Répartition des clients sur tous les membres de l'équipe disponible (à la fois pour l'application des patches, mais aussi pour les déploiements/l'intégration continue et la recette technique après déploiement)
    • Alerte de tous les clients de l'opération à venir
    • Attente du jour J et de l'heure H

    En parallèle, les administrateurs systèmes de notre filiale Open Web Network Solutions ont mis en place les actions suivantes :

    • Mobilisation des équipes pour réserver du temps de travail sur ce créneau inhabituel (20h-22h pour le premier épisode) et vérifier la disponibilité de chacun
    • Préparation d'un script d'orchestration permettant de
      • recenser automatiquement toutes les instances drupal d'un serveur
      • recenser les fichiers concernés par le patch de sécurité
      • appliquer automatiquement le patch de sécurité à ce fichier
      • sortir un rapport détaillé pour les éventuelles actions manuelles à mener pour de rares cas
    • Tests de ce script sur des infras de dev
    • Prévenir les clients (hors TMA OWS

    Résultat : à l'heure H du jour J, dans une ambiance détendue et d'équipe, avec de la restauration livrée dans les locaux pour ceux qui étaient sur place à l'agence, il nous a fallu 2 heures pour mettre à jour et sécuriser des centaines d'instance drupal et aller se coucher apaisés :) . Aucun site n'a d'ailleurs été compromis grâce à ces actions

    Donc encore bravo et merci à toute l'équipe et aux process/méthodes éprouvées pour la TMA et linfogérance Drupal.

    Pour références/aller plus loin :

     

     

     

    Développement drupal sous vim : liste des fonctions drupal 6

    piotre
    19/03/2009
    Comment ajouter l'autocomplétion des fonctions de Drupal 6 à vim

    Après quelques projets drupal 6 développés sous l'éditeur vim, je me suis aperçu qu'une autocompletion incluant les fonctions core drupal 6 serait bien utile.

    J'ai trouvé le dictionnaire des fonctions core drupal 5 pour vim ici : http://www.vim.org/scripts/script.php?script_id=1675, mais pas le dictionnaire des fonctions core drupal 6.

    J'ai donc générer à l'aide d'un script la liste de l'ensemble des fonctions core drupal 6, tout en respectant la syntaxe des dictionnaires vim : drupal_6_core_functions.dict

    Ensuite j'ai :

    Et hop le tour est joué !