The Drupal Camp 2024 in Rennes was an opportunity for Klee to meet the Drupal community for 3 days and even meet some old hands, which shows that the Drupal world is small! On the program, conferences in the spirit of the times on subjects such as industrialization, on-site factories, eco-design, and more technical ones to satisfy us developers.
Industrializing Drupal in a large company: best practices
Industrialization, or the art of saving time, increasing the quality of your code, its test coverage, its security, and therefore ultimately, its degree of confidence in sensitive operations such as production releases. In 2024, this is something that seems essential to me. On this subject, Klee is rather well equipped.
Our development processes, developer tools (GitLab, IDE, XDebug, etc.) and the tools integrated into our integration platform (code quality measurement such as PhpCS, PHPStan, PHPMD, linters, etc.) allow us to achieve good industrialization.
This first involves well-defined processes in which all project stakeholders participate:
Minimalist tickets to be processed by developers (1 feature = 1 ticket!).
DOR/DOD (Definition Of Ready, Definition Of Done).
Pre-commits to check the quality of the code before sending it to the Git repository.
Merge Requests that trigger pipelines: quality re-check, non-regression tests; then a review by a lead developer.
QA tests.
Scripts to perform the most common actions on qualification environments.
Then, CI/CD opens up a field of possibilities that is wide enough to first generate a deliverable from the sources (build) and jointly consider with the hosts, a deployment to the target environments,
from the factory recipe to production. The goal is to reduce the TTM (Time To Market) as much as possible, and for any person on the team to be able to deploy. We save time, human errors are limited.
Everyone is therefore able to deploy, and it is rare to have bad surprises once the process is well-established. This conference was completed by KGaut's "a deployment pipeline with GitLab CI" which presents in a more generic way the different steps that can be executed in a CI: backup, verification of the integrity of the target environment... Note that these conferences do not cover advanced topics such as the organization of YAML files and the scheduling of the chain and its tasks which can quickly become complex on a large project.
Round table: the secrets of a successful website factory
The subject of industrialization was also addressed in the round table on site factories. A round table that was particularly interesting because several profiles were present to discuss the subject: users, project managers, developers, etc. Not everyone has the same vision of what a site factory is and depending on the author of the request (DSI, DIRCOM, etc.), the need is not the same either (speed of deployment, rationalization of technologies, etc.), but we can define this term by the possibility of generating and deploying standardized sites completely autonomously (without technical intervention). Moreover, from a technical point of view, several solutions can meet this need, each with their advantages and disadvantages: multi-site, domain, Acquia Site Factory, micro_site, etc.
All the participants of this round table were unanimous, the need must be at the center of decisions!
It is more than necessary to analyze it well (shared content, creation of sites by the user, speed of deployment, volume of sites, etc.) to then propose the most suitable solution.
Technical experts have a crucial role to play in this. They must analyze, challenge and explain the choice of one site factory solution rather than another; or even requalify the need by proposing less complex solutions. The idea is to propose a solution adapted to the need so that the "site factory" does not turn into a "gas factory", which would be complicated to maintain for all parties ("update hell").
Eco-designed and accessible sites with Drupal: the example of Bretillien.nes
In 2024, one of the important topics is the climate and the impact of the solutions we develop is not negligible. The RGESN is there to work towards an eco-responsible public digital system. The feedback on the development of the Ille-et-Vilaine department website is an example of its implementation.
While technology has a role to play, according to this feedback, it remains that all the players in the chain must be mobilized (management, user, developer, etc.). The key to success is to involve them from the start of the project, to integrate the approach into existing processes (project management, quality management, etc.) in order to sustainably anchor the approach and take advantage of what already works.
To measure the environmental impact and see its evolution throughout the project, it is advisable to base oneself on the RGESN and equip oneself with tools such as the web eco-index or eco-code in order to have recognized indicators. Once the measurements are obtained, the results must be valued and shared with the entire team in order to strengthen engagement on the subject. For this site, the entire editorial line was reviewed in particular to simplify the content (less verbose home page, more refined content).
Studies were conducted to find out what to keep, for example on the home page where few saudi arabia telegram data users scrolled. I was surprised by the choice of integrating external media.
Isn't a simple link to a podcast or an image with a link opening a video/interactive map, rather than an embedded integration, sufficient? After all, how many media are loaded on a page when they are not consulted? In addition to that, if we add a consent message for cookies, the solution becomes GDPR compliant without the need to integrate a cookie management library like tarte au citron, the loop is closed! On the technical side, we also need to ask ourselves more questions: is the functionality really necessary, is there a possibility of simplification? Isn't the module I "have" to install doing too much?
UI and Design Systems: Improving Front-End Integration with Drupal
A major theme of this DrupalCamp is the impact that Atomic Design, design systems / UI Kit / styleguide and Single Directory Components have on Front End development and HTML integration.
Mastering the Art of Design System in Drupal: Methods and Tools
Atomic Design in Drupal is about making themes more performant, responsive and most importantly easier to maintain.
The following points were presented by Waren: