DRUPAL (CMS) est un logiciel développé par des bénévoles. DRUPAL permet aux individus comme aux communautés d'utilisateurs de publier facilement, de gérer et d'organiser un vaste éventail de contenus sur un site web (Blogs, sites d’informations, boutiques en ligne…). DRUPAL est utilisé par de nombreuses personnes et d'organisations afin de propulser les différents sites de toutes tailles et fonctions. L'open source DRUPAL lance sa version DRUPAL 7, au début de l'année 2010. Dans sa dernière version DRUPAL pourrait supporter Oracle Database et Microsoft SQL server
Avec la communauté grandissante de Drupal, il arrive parfois que les développeurs en freelance expérimentés se perdent dans le grand réservoir de ressources. Cela est encore plus vrai pour les débutants qui n'ont aucune grande expérience. C'est pourquoi il est crucial pour un développeur Drupal freelance de développer et d'affiner certaines compétences requises, afin de devenir un as du domaine.
Si vous êtes un expert en Drupal et envisagez une carrière en freelance, vous trouverez dans ces articles quelques compétences requises. Vous aurez ainsi une idée claire de votre place et de ce que vous devez savoir pour pratiquer le métier.
Drupal est un système de gestion de contenu (CMS) gratuit. Il est écrit en PHP et est utilisé pour alimenter des millions de sites Internet partout à travers le monde. Si vous envisagez donc une carrière en tant que développeur freelance, vous devez avoir une bonne maîtrise du PHP Drupal.
Comme tout développeur ou programmeur professionnel, un débutant ou un expert Drupal devrait aussi connaître les choses les plus élémentaires, comme il devrait connaître les langages de programmation très identiques aux exigences du développement web.
On cite notamment le PHP, car Drupal est construit avec PHP, mais aussi les langages comme MySQL et jQuery. Inutile de préciser que vous devez également maîtriser Drupal HTML CSS.
Git est un outil de gestion de versions distribué, utilisé dans les projets open source en général et Drupal en particulier. Il permet aux développeurs de travailler avec rapidité et efficacité en équipe, tout en suivant les modifications apportées aux fichiers.
Il est très facile à apprendre et sa maîtrise vous aidera à rester organisé, ce qui est très important pour le travailleur en freelance.
L'outil offre plusieurs avantages dans le flux de travail quotidien et améliore aussi les compétences en matière de travail en équipe. Si vous envisagez donc de devenir un chef de projet ou un lead développeur Drupal, la maîtrise de Git s'impose.
En tant que développeur web ou chef de projet, vous serez amené à réaliser des missions renouvelables de développeur. Pour les mener à bien, les compétences suivantes sont requises :
Working on drupal 9 headless website as Freelancer ********, providing administrable content for the front vuejs application by jsonapi webservices going through gravitee.
Implementing docker containers for each service as nginx, php-fpm, varnish, postgresql on openshift to run drupal on 7 differents environnement like dev, integration, preprod, production
Use jenkins to deploy each docker container.
Making deployements for each environnement, helping devops to deploy on production.
Making varnish configuration for each env.
Working on drupal 8 websites as Freelancer ******** and
********/
Working on drupal 8 and drupal 7 websites for English clients gouvernement websites hosted on AWS
Working on a drupal 8 website migration ********
Use of docker for local develoment and deployements.
Server Side rendering on AWS to display metatags with Angular.
Use of Redis for cache and ElasticSearch as search engine.
Drupal 8 headless develoment as JSONAPI with Angular 6 frontend.
Working on a drupal 7 website ********
Working on other drupal 8 websites like tep.pf and others.
Making quotes with commercial team and technical specifications.
Teaching Drupal to other team members.
Working on drupal 7 websites like *Working on drupal 7 websites like ********, ********, ********
Refactoring api calls, like ads, google news feeds.
Developement of new pages and website sections.
Contribution on drupal.org on my freetime.
Short term contract to develop new features and bug fix on high traffic drupal commerce website.
Interaction with salesforce and other middleware softwares.
Bugfixing, code refactoring, performance improvements.
Working in Agile environnement with Jira and git. Code review and pull requests with stash, merging branches from subtasks to user stories branches to release branches.
Making sub tasks of sprint User stories, helping the team developing each subtask. Fixing bugs.
Helping new developers with their local box using vagrants, proxy settings, web services, understanding git workflow.
Writing unit tests with phpunit on drupal 7.
Helping dev ops making release packages.
Helping products owners on technical choices for their User stories, or issues related to deployement and production environnement issues.
Working with elasticsearch instead of apache Solr. Memcache, apc, Varnish, Vagrant and proxys, Calling different in house webservices and API. Performance optimization by getting rid of old modules or code refactorisation.
Refactorisation of old code and old custom modules to fit webservices api changes, and removing safely old custom modules that had an impact on performance.
Made a new feature with the team to implement the selection of discount coupons, using it by printing or by association with a customer discount card.