Le sujet des technologies utilisées dans les Start-up ou sociétés de services informatiques est hyper-vaste, il y'a des débats sans fin sur Github, Google Trend ou StackOverflow sur tel ou tel technologie. Ce que nous allons présenter en gros dans cet article, c'est un point de vue sur les sujets qu'une start-up, société ou agence de développement informatique doit être en mesure d'aborder. Etudiant ou développeur,  nous vous invitons à  aller sur internet et googler tous les éléments qu'on va citer et qui pourront vous intéresser.

Pour les Start-up Informatiques, quand les choses commencent à  être sérieux, c'est le bon moment de prendre les en sérieux, et essayer de mettre en évidence des méthodes qui vont vous aider à scaler et générer de la croissance dans le futur

Quand il s'agit de la production logiciel, les bonnes pratiques à suivre par une société de développement et services informatiques sont :

- Choisir un Stack de développement: Les langages.

- Versionner les sources du code.

- Régler l'environnement du développement.

- Mettre en place des règles de développement.

- Faire des révision du code.

- Mettre en production les solutions.

- Mettre en déploiement continu.

- Corriger les bugs et éviter de les reproduire.

1) Comment choisir le Stack ou les langages du développement ?

1) Ceci est déterminé par vos compétences et les langages dans lesquels vous êtes à l'aise. Votre boulot c'est de délivrer des solutions en continu.

2) Les spécificités du projet: Faites simple avec ce que vous savez faire et ne cherchez pas trop au delà des technologies et utiliser des solutions open source, à moins que votre projets soient très spécifique (Ex: Développement d'une application mobile), prenez des solution éprouvés.

3) La facilité de trouver des compétences informatique: Penser à l'entourage et essayer de voir les langages pour lesquels il est facile de trouver des compétences: Miser dans les langages les plus courant comme PHP, JavaScript, JAVA, Python..

4) Optimiser son coût du développement: En travaillant sur des solutions open source, on trouve très facilement des solutions en ligne, on accède au code pour l'analyser, puis on les adaptent  pour la réalisation du projet.


Solutions Back-End

On appelle Back-End toute la partie qui va faire l'exploitation du serveur  et de la base de données. Ne réinventez pas la roue et utiliser des Frameworks qui vont vous éviter de reproduire 90% du code qui est pas spécifique à votre projet

PHP: LARAVEL/Symfony

JavaScript: Express

Python: Django

Ruby: RoR

Java: Spring

ASP:. net

Solutions Front-end

Utilisez des frameworks en Front-End pour développer des applications mobile ou web 

Css: Bootstrap/Foundation

JS: Angular/VueJS/Backbone

Gestion des assets

Lorsque vous développez un projet informatiques, l'utilisation des librairies est indispensable. Mais, chose qu'il faut savoir, n’intégrez pas une librairies manuellement, pensez à utiliser un package manager, pour gérer l’évolution futur de vos sources. Pour chaque langage on a un package manager spécifique:

JS: Bower

PHP: Composer

Nodejs: npm

Ruby: gem

L'intégration des assets téléchargés va être réalisés par des outils d'automatisation des taches comme:

Gulp/Grunt

Gulp permet de faire des opérations sur les assets avant de les intégrer par exemple concaténer ou vinifier un fichier Javascript ou CSS, tout en continuant à gérer les versions des librairies externes.

Base de données 

MySQL/PostreSQL 

Mangodb / Casandra (NoSQL)

Les base des données relationnelles comme MySQL ou PostgreSQL sont fiable et bien référencées par la communauté. Ce que ne recommandons c'est d'utiliser MySQL ! c'est gratuit et ça marche! Sauf si vous savez vraiment pourquoi vous voulez une autre technologie comme le NoSQL. 

PostreSQL est un peu évolué  par rapport à MySQL et vous permet par exemple d'avoir plus de flexibilité sur la manipulation des schéma des tables.

Gestion des sources SVN

Il s'agit d'un endroit ou toutes vos sources et toutes les évolutions sont accessible en permanence. La gestion des sources va vous donner la flexibilité d'interagir avec vos développeurs et centraliser vos efforts pour réussir le projet. Aujourd'hui, il y'a plusieurs outils de gestion des sources:

GIT/SVN/Mercurial/Subversion

Nous conseillons d'utiliser Git avec

Github ou BitBucket

Déploiement en mode cloud Software As A Service (SAAS)

Quand il s'agit d'un déploiement cloud, on peut utiliser une plateforme informatique flexible comme Amazone Web services (AWS) ,évolutive et à coût peu élevé pour des entreprises informatique de toutes tailles à travers le monde.  Le cloud donne accès à une plateforme technologique fiable sécurisée. Les avantages de l’utilisation du mode SAAS sont les suivants le paiement à l’utilisation, l'évolutivité, la flexible et simplicité d’utilisation.

Déploiement continu

Le code que vous sortez doit être déployable en production. Les problèmes qu'on peut rencontrer dans ce sens sont liés souvent à l’environnement de développement local (Ex: Mac) et de production (Ex: Linux Ubuntu) qui sont généralement différent. Pour éviter cela, la solution la plus simple c'est de virtualiser votre environnement de développement : 

Vagrant / Docker

Des outils comme Vagrant ou Docker  vont vous permettre de travailler avec des machines virtuelles sur vos environnements de développement local Windows, Linux ou Mac.

  Partager