Our "Product Development" offer
Develop your Web, Mobile or Data digital products using state-of-the-art product design, composable architectures and continuous deployment. What are the technical and practical components needed to develop your products and bring them to life at a speed in line with market needs?
Gilles Guirand
Technical Director
Is now the right time to invest in a design system? How can we minimise the effort between web and mobile versions? How do you deploy rapidly without regressions? How do you de-silo back-end and front-end development by feature team? How do you connect the new product to the legacy?
A digital product can come into being in a variety of ways: as a major new web or mobile iteration following a PoC/PoV, as a fast delivery market conquest, or as a planned project (Digital roadmap) assigned to a Digital Factory.
Despite this great diversity of product contexts, a composable and universal architecture pattern has emerged over the years. The best approach is to calibrate it without being overly dogmatic based on the individual history of a product.
Web and/or mobile front-end
Once the front-end strategy has been clearly defined, with a selection made between two native Web and mobile front-ends, or a single PWA front-end, the front-end development strategy should be defined:
- Use of a Material-type mature design system for the administration interfaces, already implemented in ultra-productive component frameworks such as Vuetify (for the construction of management interfaces in particular)
- Construction of a front-end design system, which is sometimes considered a major initial effort, but one which will pay for itself in the long term: maintainability, visual and functional consistency, productivity, development team tools, etc.
- Whether or not to use a productivist CSS framework, such as Tailwinds CSS?
- Development of Vue or React components and display of renderings and documentation in a storybook
- Development of the best HTML rendering strategies between Client Side Rendering (CSR), Server Side Rendering (SSR), Server Side Generating (SSG) and possible hybridisations.
Back for front and third-party application services
The visible part of a Web and mobile application masks the wide diversity of backends, APIs and web services present in the legacy, often with very variable performance and modernity. We systematically deploy a Back for Front on backend applications, the role of which is to:
- Expose a single backend API for front-end calls, dedicated and adapted to the front-end user experience, preferably in graphQL (Apollo) to limit the number of round-trips between the front and back ends.
- Never expose business APIs directly, for reasons of security, performance and decoupling (being able to connect and disconnect new APIs according to the information system’s roadmap).
- Load data from business backend systems (REST APIs, SOAP, files, etc.) and publisher solutions (headless CMS such as Strapi or Contentful) to link them together, adapt them and transform them into the API served at the front end.
- Store the necessary data persistently (data that does not exist on the business backend) or temporarily (volatile cache, search index), on a case-by-case basis depending on the functional need.
- Unify authentication between the various backends.
- Use input (API responses) and output (HTTP cache) caching systems to protect the business APIs and the Back for Front itself from too many calls.
CMS, eCommerce, Search & IAM
Composable architectures, as opposed to monolithic “all-in-one” architectures, enable and require you to select the best SaaS or Open Source tools for each of the major functions in the ecosystem: the CMS, identity manager, digital asset manager, eCommerce, CRM and other marketing tools, etc.
We can advise you on the most appropriate solutions for your business and the challenges of scalability, security, governance and consistency with legacy systems:
- Headless CMS: Strapi, Contentful or APIs for existing CMS (Drupal, Ibexa, etc.)
- Search engines: Elasticsearch, Algolia or other managed services in the Cloud
- eCommerce as a headless SaaS solution or as a bespoke solution when too specific
- Backend frameworks and their execution modes: Node.js, graphQL, Nest.js in serverless or container mode
- Databases: PostgreSQL, MariaDB, MongoDB, etc.
- Identity managers and SSO: Keycloak, Okta, managed IAM, etc.
DevOps and QA automation
Nowadays, companies and organisations are very often backed by one or more Cloud providers, SaaS tools, their own Git and pipelines, their own set of Terraform templates. We need to adapt and integrate with these practices, working with your digital factory and IT/IS departments to create the best possible fusion between your practices, your ecosystem and our experience of DevOps and automation:
- Gitflow and pipeline (CI/CD) according to our practices or in collaboration with you
- Exploitation of managed service catalogues in a manner which is close as possible to the philosophies of AWS, GCP, Azure, Scaleway and Kubernetes
- Optimisation of performance and the cache chain, from the CDN to the internal application cache
- Sharing of security practices around VPN access, private keys (KMS), encryption, anti-DDOS and WAF
- Working with IT on Terraform scripts.
Each use case is unique, and the strategy must be adapted to the reality of the need and the skills of the teams, which is why it can be useful to call on expertise as a service to help you make the right organisational and architectural decisions.
To accelerate time-to-market, a Digital Factory organisation can be set up. The latter, together with a product culture offering an experience centred on user needs, is key to the success of a digital design project, in just the same way as technological expertise is.