Services / Développement logiciel
04 / 08
Développement logiciel · Java, .NET, web et intégration

Un logiciel conçu pour votre entreprise. Et pour celui qui le maintiendra ensuite.

A4IT développe des applications sur mesure en Java et en .NET, les interfaces web qui s'y greffent et les API qui les relient. Ce travail repose sur plus de dix ans de développement de logiciels d'entreprise et de gestion de projet, appliqués à l'échelle d'une PME : une architecture évolutive pensée pour des entreprises en croissance, et des systèmes existants modernisés par une intégration fluide au lieu d'être jetés. Vous travaillez directement avec Tim De Smedt, sans intermédiaires.

Ce que vous recevez, ce qui reste à vous, où cela s'arrête

Dit avant la première réunion
Vous recevez
  • Un logiciel fonctionnel présenté lors de démos régulières, pas un rapport d'avancement
  • Le code source sous gestion de versions, avec des tests automatisés et un pipeline de build
  • Une documentation à partir de laquelle un autre développeur peut démarrer
  • Un périmètre et une estimation écrits par phase, avec les hypothèses énumérées
Reste à vous
  • Le code source, le dépôt et tout son historique
  • Vos données, votre base de données et vos comptes d'hébergement
  • La connaissance du métier : l'analyse et les décisions sont mises par écrit pour vous
  • La liberté de continuer avec votre propre équipe ou un autre fournisseur
Limites
  • Pas de prix fixe sur un périmètre qui n'est pas encore compris : l'analyse vient d'abord
  • Pas de mise en production sans tests, sans sauvegarde et sans possibilité de retour arrière
  • Pas d'applications mobiles natives ni de développement de jeux
  • Pas de promesse d'un logiciel sans défaut : nous testons, nous journalisons et nous corrigeons

Ce que nous livrons

Sept briques · prenez-en une ou toutes
01 · Construire

Java et Spring Boot

Développement Java : des applications de niveau entreprise avec Spring, Spring Boot et des architectures de microservices conçues pour monter en charge.

Applications métier
Traitement des commandes, planification, portails et systèmes de back-office, avec les règles de votre entreprise dans le code et non dans la tête de quelqu'un.
Écosystème Spring
Spring et Spring Boot pour le web, la sécurité, l'accès aux données et les traitements par lots : largement utilisés, bien documentés, et pour lesquels on trouve facilement des développeurs.
Couche de données
PostgreSQL ou SQL Server avec des migrations de schéma versionnées, pour que chaque environnement ait la même structure de base de données.
Conçu pour monter en charge
Une structure qui démarre comme une seule application déployable et peut être scindée en services quand la charge ou la taille de l'équipe le demande.
02 · Construire

.NET et Azure

Développement .NET : ASP.NET Core full-stack, Entity Framework et services cloud Azure. Des applications web modernes et des API robustes.

ASP.NET Core
Des applications web et des API en C# sur .NET Core, tournant sur Windows Server ou Linux.
Entity Framework
L'accès aux données avec des migrations sous gestion de versions, sur SQL Server ou PostgreSQL.
Services cloud Azure
Hébergement, bases de données, stockage et identité dans Azure là où cela convient à votre organisation. Voir cloud & PaaS.
Code .NET existant
Les anciennes applications ASP.NET et de bureau sont évaluées, stabilisées et migrées pas à pas vers une version supportée.
03 · Construire

Applications web et front-end

Des écrans que les gens utilisent toute la journée. Rapides, clairs et utilisables par tous, y compris au clavier ou avec un lecteur d'écran.

JavaScript, HTML et CSS
Des interfaces construites sur les standards du web, avec un framework uniquement là où l'application en a réellement besoin.
Accessible
Un balisage sémantique, une utilisation au clavier, un contraste suffisant et des formulaires étiquetés, construits avec les directives WCAG comme référence.
Rapide
Des pages légères, peu de requêtes et pas de bibliothèques inutiles. La vitesse est mesurée pendant le développement, pas après les plaintes.
Utilisable
Des tableaux qui filtrent et trient, des formulaires qui valident pendant la saisie, et une mise en page qui fonctionne sur un téléphone comme sur un grand écran.
04 · Connecter

API et microservices

Des API robustes sur lesquelles d'autres systèmes, vos partenaires et vos propres interfaces peuvent compter.

API REST
Des ressources cohérentes, des messages d'erreur clairs, du versionnement et de la pagination, pour qu'un consommateur n'ait pas de surprise.
Contrat OpenAPI
L'interface est décrite en OpenAPI et maintenue en phase avec le code. Les partenaires peuvent la lire et la tester sans nous appeler.
Sécurité
L'authentification, l'autorisation par rôle, la validation des entrées et la limitation de débit font partie de la conception dès le premier endpoint.
Des microservices quand c'est justifié
Des services séparés là où des parties du système doivent monter en charge ou évoluer indépendamment. Pour beaucoup de PME, une seule application bien structurée est le meilleur choix, et nous le disons.
05 · Moderniser

Intégration et modernisation de systèmes existants

Intégration de systèmes existants : moderniser des systèmes en place par une intégration fluide. L'ancien système continue de rendre service pendant qu'il est remplacé morceau par morceau. Pour les applications COBOL, DB2 et JCL, voir modernisation mainframe.

Évaluation
Ce que fait le système, quelles parties sont encore utilisées, où se trouvent les risques et ce qui n'est plus supporté. Mis par écrit avant toute décision.
Une interface autour de l'ancien
Les programmes COBOL, les échanges par fichiers et les bases de données plus anciennes reçoivent une API propre en façade, pour que les nouveaux logiciels puissent les utiliser. Voir automatisation & données.
Remplacement pas à pas
Une fonction à la fois passe sur la nouvelle plateforme, l'ancien et le nouveau tournant en parallèle jusqu'à ce que les résultats concordent. Pas de week-end de bascule en big bang.
Migration des données
Mapping, essais à blanc et rapprochement des totaux, pour que rien ne soit perdu ni modifié en silence en cours de route.
06 · Livrer

Qualité et livraison

Les habitudes qui décident si une mise en production est une routine ou un événement.

Git et revue de code
Chaque modification est sous gestion de versions, avec sa raison, et est contrôlée par le pipeline de build avant d'être fusionnée.
Tests automatisés
Les tests unitaires et d'intégration tournent à chaque modification. Un bug corrigé reçoit un test, pour qu'il ne revienne pas.
CI/CD avec Jenkins
Le build, les tests et le déploiement forment un pipeline. Une mise en production est une étape répétable, pas une procédure manuelle qu'une seule personne connaît.
Documentation et installateurs
La documentation technique et utilisateur est conservée avec le code, dans Confluence si vous l'utilisez. Les logiciels de bureau sont livrés sous forme d'un véritable installateur Windows construit avec Inno Setup.
07 · Exploiter

Maintenance et support

Un logiciel n'est pas terminé à la mise en production. Il lui faut des mises à jour, de petites modifications et quelqu'un qui répond quand il se comporte mal.

Mises à jour
Les frameworks, les bibliothèques et les environnements d'exécution sont maintenus sur des versions supportées, avec des mises à jour de sécurité appliquées selon un planning.
Monitoring et journaux
Les erreurs sont journalisées et signalées, si bien qu'un problème est souvent connu avant qu'un utilisateur n'appelle. Voir infrastructure.
Modifications et corrections
Les tickets sont suivis dans JIRA ou dans votre propre outil, chacun avec un statut que vous pouvez suivre et la version à laquelle il appartient.
Convenu par écrit
Ce qui est couvert, comment nous joindre et dans quel délai nous réagissons est fixé dans un contrat de support, pas sous-entendu sur une page web.

Déroulement d'une mission

Petites étapes · une décision après chacune
  1. Premier entretien
    Un appel de trente minutes : votre question, vos systèmes, vos contraintes.
    30 minutes
  2. Analyse
    Exigences, systèmes existants et risques, avec un périmètre et une estimation.
    Périmètre + estimation
  3. Réalisation par itérations
    Agile : des cycles courts, chacun se terminant par une démo d'un logiciel fonctionnel.
    Démos régulières
  4. Mise en production
    Recette par vos utilisateurs, données migrées, déploiement via le pipeline.
    En production
  5. Maintenir
    Mises à jour, monitoring et modifications dans le cadre d'un contrat écrit.
    Tenu à jour

Technologie

Choisie au cas par cas · rien n'est imposé
JavaJava, Spring, Spring Boot
.NET.NET Core, C#, ASP.NET, Entity Framework
Web & APIJavaScript, API REST, OpenAPI, microservices, XML & XSLT
DonnéesSQL Server, PostgreSQL
LivraisonGit, Jenkins, JIRA, Confluence, Inno Setup
PlateformesLinux, Windows Server, Azure, Jelastic, COBOL pour les systèmes existants

Quand cela convient, et quand cela ne convient pas

Une réunion d'économisée pour vous comme pour nous
Cela convient si
  • Les logiciels standard ne couvrent pas la façon dont votre entreprise fonctionne réellement
  • Une application existante doit être étendue, connectée ou modernisée
  • Vous voulez parler à la personne qui la conçoit et la construit
  • Quelqu'un dans l'entreprise peut répondre aux questions et assister aux démos
Cela ne convient pas si
  • Un logiciel standard fait déjà le travail : achetez plutôt celui-là
  • Il vous faut une grande équipe sur site la semaine prochaine
  • Le périmètre est un remplacement complet en une seule étape, sans temps pour l'analyse
  • Le projet est une application mobile native ou un jeu

Questions sur le développement logiciel

Toutes les questions →
01Java ou .NET : lequel choisir ?

En général, celui que vous avez déjà. Si vos systèmes et vos équipes sont sur des technologies Microsoft, .NET convient ; si vous utilisez Java ou voulez rester indépendant de la plateforme, c'est Java. Les deux sont des choix solides, et nous expliquons le raisonnement pour votre cas.

02À qui appartient le code source ?

À vous. Le code se trouve dans un dépôt auquel vous avez accès dès le premier jour, et les conditions sont inscrites dans le contrat avant le début des travaux.

03Pouvez-vous donner un prix fixe ?

Pour un périmètre clairement décrit, oui. Pour tout le reste, nous faisons d'abord une courte analyse, après laquelle vous recevez une estimation par phase avec ses hypothèses. Un prix basé sur une supposition n'aide personne.

04Comment suivons-nous l'avancement ?

Par des démos régulières d'un logiciel fonctionnel et une liste de tickets que vous pouvez ouvrir à tout moment. Voir notre méthode et gestion de projet & analyse.

05Pouvez-vous reprendre un logiciel écrit par quelqu'un d'autre ?

Souvent, après une évaluation. Il nous faut le code source, un moyen de le compiler et l'accès à un environnement de test. Vous recevez un avis écrit sur son état et sur les risques avant que nous nous engagions à le maintenir.

06Où tourne l'application ?

Là où cela vous convient : vos propres serveurs, Azure ou Jelastic PaaS. L'hébergement est décidé avec vous et documenté. Voir cloud & PaaS.

Décrivez ce que votre logiciel doit faire. Nous vous dirons comment nous le construirions.

Réponse dans les trois jours ouvrables.Parlons de votre projet →Notre méthode