Nos services

Découvrez Nos Services

Nous avons proposés au cours de ces dernières années de nombreux services dédiés aux développements informatiques. Nous sommes aujourd'hui des spécialistes des web, des web-services et des applications fixes et mobiles. Nous proposons toujours du développement sur mesure en natif.

Apple©

Tout nos projets pour Apple© sont codés avec le dernier Xcode© de distribution AppStore©. Ils sont prévus pour les robots d'intégration de Xcode Server©. Codés en Objective-C et/ou en Swift.
Xcode
iOS
MacOS
tvOS
watchOS

Android©

Tout nos projets pour Android© sont codés avec le dernier Android Studio©. Ils sont prévus pour fonctionner sur les 3 dernières distributions majeurs d'Android©.
Google
Android
Android Studio

Windows©

Tout nos projets pour Windows© sont codés avec le dernier Visual Studio©. Ils sont codés en C# ou en .net et prévu pour une distribution sur le store de Microsoft©.
Microsoft
Windows

Project Convention

Project Convention

Chaque projet se doit d'être géré selon des règles strictes, quelque soit la méthodologie utilisée pour le mener. Un projet regroupe notre de données de divers domaines:  cahiers des charges, fonctionnels, techniques, dossier d'IDE, codes sources, graphismes natifs et exportés, historiques, gestionnaire de problème, gestion des livraisons, des distributions, gestion des environnements et des configuration, etc. Afin de faciliter la gestion de nos projets nous appliquer un minimum de règles, respectant les ainsi les convention de www.hephaiscode.com.

Prefix Projet

Chaque projet est préfixé afin de faciliter sa réutilisation, ses substitutions et la gestion générale. Il est très facile de dupliquer nos projets pour un autre client ou pour un projet blanc.
supplication
substitution
réutilisation

Environnements

Chaque projet bénéficie d'au moins 3 environnements : Développement, Pré-Production, Production. Chaque environnement possède ses propres paramètres et constantes de compilations.
Environnement
Développement
Pré-Production
Production

Localization

Nos projets prennent toujours par défaut la localisation possible de l'application. C'est une pratique simple qui permet d'adapter rapidement les applications lors des évolutions.
Localisation
Multi-lingue

IDE Script

Nos projets comportent des scripts spécifiques permettant la gestion l'optimisation et la livraison automatique des compilations. Ils nous permettent aussi une plus grande réactivité.
Scripts
Optimisation
Réactivité

Suffix Language

Chaque projet est suffixé par sa langue et son OS de destination. Vous pouvez ainsi facilement retrouver les codes sources de chaque application dans un projet. Nous séparons aussi lorsqu'il est nécessaire les projets par Devices.
Language
OS
Devices

Configuration

Chaque environnement possède a minima 3 configurations de compilation : Debug, Release, Distribution. Nous ajoutons aussi une configuration pour les Tests Unitaires et l'intégration continue.
Configuration
Debug
Release
Distribution
Intégration Continue

License

Lorsque cela est nécessaire, nous incluons toutes les licenses dans une page accessible via les préférences de l'application. Tous nos développements respectent les licenses d'utilisation.
Licence
droits d'usage
respect des lois

Version & Build

Chaque projet est géré selon la norme Version_X.X.X : Major-Version, Sous-Version et Buid Number. Nos projets possèdent des scripts de gestion automatisée et des numéros de version.
Auto-Incrémentation
Version
Major-Version
Sub-Version
Build Number

Tree files

Nous portons un grand soin à l'organisation et au rangement des fichiers et des dossiers dans chaque projet. Il est plus simple de retrouver les fichiers et les dossiers. C'est autant un gain de temps pour vous que pour nous.
Arborescence
Classement
Organisation

ReadMe file

Fort du respect des nos concurrents, nous fournissons pour chaque projet un fichier d'instruction pour la reprise du projet. Cela assure un transfert du projet dans les meilleures conditions.
ReadMe File
Transfert de Projet
Reprise de Projet

Delivery script

Chaque projet comporte des scripts de livraison qui facilite la compilation de version de distribution ou de recette. Ils gèrent, le cas échéant, les applications en collection.
Distribution
Recette
Collection

Source Code Convention

Source Code Convention

Coder ne constitue pas à développer un algorithme. Coder est un art. Bien coder consiste à expliquer la démarche, nommer de façon explicite les éléments, commenter les parties délicates, prévoir la reprise par d'autres développeurs, partager les usages et documenter le fichier pour utiliser les parties de code développées. Un bon code provoque l'admiration lors de la lecture. Un bon code s'apprécie comme une nouvelle littéraire.

English Convention

Afin de respecter les conventions du mode informatique, tous nos projets sont gérés, commentés, documentés en anglais. Les dénominations des variables et des méthodes sont également en anglais.
English
Anglais

Comment Code

Notre code source est commenté en anglais pour en faciliter la maintenance. Chaque commentaire à un sens et une utilité. Nous préconisons habituellement 10-20% de commentaires.
Comment
English

Log By Class

Chaque classe d'objet bénéficie d'un système de log débraillable. Ainsi, il est facile d'activer ou de désactiver les logs sur une cas d'usage spécifique et de cibler le déboguage.
Log
Classe
Ciblage
Déboguage

Header Doc

Chaque classe est documentée par l'ajout de commentaire de type HeaderDoc en anglais. Ce type de documentation est facilement consultable, traçable et suit la classe à travers les projets.
HeaderDoc
Historic
Classe Doc

Naming Convention

Toutes les dénominations de variables, fonctions, paramètres respectent une convention de dommage strict basé sur le ChamelCase, les préfixes, les suffixes et l'anglais.
ChamelCase
Prefixe
Suffixe

Pragma use

Notre code source fait usage de pratique pragma lorsqu'elle sont disponibles. Cela permet une hiérarchisation et un regroupement des méthodes. Une lecture plus claire qui sera un avantage lors de la maintenance.
Pragma
Hiérarchisation

Log by Environment

Chaque environnement bénéficie d'un système de log débraillable. Ainsi, il est facile d'activer ou de désactiver les logs sur une cas d'usage spécifique et de cibler le déboguage.
Log
Environnement
Ciblage
Déboguage

Doc HTML

Chaque projet est doté d'un script qui permet d'extraire l'Header Doc et de la compilée en un dossier de documentation interactif sous formats HTML. Il est aisé de fournir cette documentation à votre client final.
HTML Doc
Header Doc
Final Doc

Design pattern

Nos développements respectent des standards de design patterns de chaque plateforme. Le modèle de base est toujours de type Model-View-Controlleur. Ce respect permet une maintenance amélioré des développements.
Model
View
Controller
MVC
PSR-DMCV-UA-O

Continous Integration

Intégration Continue

Les développements s'effectuant souvent par lot, il est nécessaire de valider la continuité des développements précédents avec les nouvelles évolutions ou fonctionnalités. L'intégration continue est autant un outil d'assistance qu'un outil de vérification de cette compatibilité. Chaque cas d'usage devant être pris en compte lors d'utilisation d'un développement, nous joignons pour tous les cas nécessaires des tests unitaires qui valident la bonne réaction des développements face à des cas courants, occasionnels ou spécifiques.  La couverture est une garantie de résistance et de maintenance du projet.

Continous Integration

Nos projets sont soumis à des serveurs d'intégration continue tierces qui garantissent la qualité de développement. Il est facile de dupliquer les serveurs pour un suivi dans votre entreprise.
CI Server
Continous Integration

Tests Unitaires

Chaque classe de nos projets bénéficie, lorsque cela est nécessaire, d'une batterie de test unitaire pour garantir son fonctionnement et sa résistance dans un environnement de production.
Unit Test
Model Test
Baby Attack
Monkey Attack
Hack injection

Coverage

Nos projets bénéficiant de tests unitaires sont aussi soumis à des tests de couverture de ces tests unitaires. Nous assurons 80-90% de couvertures sur les classes nécessitant une résistance.
Coverage
Test Units Repport

Reporting

L'ensemble de ces tests et couvertures est historié. Des serveurs de rapport tierces permettent de consulter ses données à tout moment du développement. Cela vous permet d'analyser les progrès d'un projet.
Historique
Rapport
Analyze

C.I. Configuration

Notre intégration continue s'effectue aussi bien sur une configuration de recette que de distribution. Cependant, nous ajoutons toujours une configuration plus sensible pour l'intégration continue.
Continous integration
C.I. Configuration

Benchmark & Analyze

Benchmark et Analyses

Une application bien codée ne se contente pas de juste respecter le fonctionnel établi. Une application bien codée fonctionne avec des performances et une stabilité à toute épreuve. La fluidité doit être la norme. La stabilité un devoir. Le respect du système d'exploitation une obligation. Nos projets sont soumis à des tests validants ces principes.

Benchmark

Tous nos projets bénéficient d'un benchmark des applications. Bien coder implique une application fluide et optimisée. Le benchmark est garant de la fluidité et donc de la qualité.
Benchmark
qualité
fluidité

Leaks Track

Tous nos projets bénéficient d'une chasse aux fuites mémoires. Bien coder implique une application sans fuite, préservant l'intégrité de la mémoire du matériel et ne provoquant pas de débordement mémoire.
Chasse aux fuites mémoires

Memorie Allocation

Tous nos projets bénéficient d'un benchmark des allocations. Bien coder implique de savoir gérer la mémoire, tant dans l'allocation que la ré-allocation de la mémoire. Une application qui gère bien la mémoire est plus fluide.
Alloc
De-alloc
Instance Re-use

Network Usage

Tous nos projets bénéficient d'un benchmark des échanges réseaux. Plus la charge des échanges de données est faible, plus l'application est réactive. Optimiser le flux de données garanti la fluidité de l'application.
Data Transfert
Network Impact

Git Control

Git Control

Git est un outil de bas niveau, simple et performant. Il permet de gérer les évolutions des contenus de fichiers et d'arborescence. Bénéficiant des avantages d'un serveur de fichiers et d'un gestionnaire de version, Git s'est rapidement imposé comme le meilleur choix technique pour la sauvegarde de projets informatiques. Chaque projet est stocké en local et sur le/les serveurs distants.

Git

Nous utilisons le système de gestion de version Git pour sa puissance et sa flexibilité. L'utilisation d'un compte par développeur et de commit commenté garantissent le professionnalisme.
Git

Git Branch

Notre politique de gestion de version des fichiers implique la création de branche spécifique pour chaque module et/ ou lot de développement.
Git Branch
Module
Lot

Git SubModule

Afin de garantir une amélioration constante pour tous nos projets nous incluons certaines parties de code en sous-module Git. Tous les projets bénéficient ainsi des évolutions.
Sub-module Git

Git Server

Nous possédons nos propres serveurs Git, de type GitLab. Nous possédons notre propre Compte GitHub. Nous garantissons une disponibilité constante des projets.
Git
GitLab
GitHub