5 applications web impressionnantes développées avec Laravel

Découvrez comment Laravel transforme le développement web avec 5 exemples d'applications, de la mode à l'éducation.

Bienvenue dans le monde fascinant de Laravel, le framework PHP qui a révolutionné le développement web avec sa simplicité, son élégance et sa puissance. Que vous soyez un développeur chevronné ou simplement curieux de découvrir comment les applications web modernes sont construites, Laravel est un outil incontournable qui facilite la réalisation de projets complexes grâce à ses fonctionnalités avancées et son code élégant.

Dans cet article, nous allons plonger dans cinq exemples d'applications web exceptionnelles développées avec Laravel, qui illustrent parfaitement la polyvalence et l'efficacité de ce framework. De la préparation aux tests linguistiques avec GlobalExam à l’apprentissage de la conduite avec Ornikar, en passant par la formation logicielle via Lemon Learning ou encore le recrutement en ligne avec HelloWork, préparez-vous à être inspiré par la créativité et l'innovation que Laravel rend possible. Suivez-nous dans ce voyage à la découverte des meilleures applications Laravel et voyez par vous-même pourquoi ce framework est tant plébiscité dans le monde du développement web.

 

1. GlobalExam : Optimiser la préparation aux tests de langues

 

GlobalExam est une plateforme innovante qui permet aux utilisateurs de se préparer efficacement à divers tests de langues officiels tels que le TOEFL, le TOEIC, et le DELF. Utilisant Laravel, GlobalExam offre une interface flexible et robuste pour l'apprentissage en ligne, la gestion de contenu dynamique, et un suivi personnalisé des progrès des utilisateurs.

GlobalExam tire parti de Laravel pour développer une interface utilisateur qui facilite l'interaction et l'engagement des apprenants. Laravel aide à structurer des parcours d'apprentissage personnalisés en fonction des besoins spécifiques de chaque utilisateur, intégrant des exercices pratiques, des simulations d'examens, et des analyses de performances.

 

Exemple de code pour afficher des exercices personnalisés aux utilisateurs :

 

public function showExercises(Request $request)
{
	$userLevel = $request->user()->level;
	$exercises = Exercise::where('difficulty', $userLevel)->get();
	return view('exercises.list', compact('exercises'));
}

 

Ce code PHP illustre comment Laravel peut être utilisé pour récupérer et afficher des exercices adaptés au niveau de difficulté de l'utilisateur, en utilisant l'ORM Eloquent pour une extraction efficace des données correspondantes.

 

 

La capacité de Laravel à gérer de grandes quantités de contenu éducatif est essentielle pour une plateforme comme GlobalExam, qui offre des ressources pour une variété de tests dans plusieurs langues. Laravel facilite la mise à jour et l'organisation du contenu, assurant que les informations restent à jour et pertinentes.

 

public function updateContent(Request $request, $contentId)
{
	$content = Content::find($contentId);
	$content->update($request->all());
	return redirect()->back()->with('status', 'Content updated successfully!');
}

Cet exemple montre comment Laravel gère la mise à jour du contenu éducatif, permettant aux administrateurs de la plateforme de maintenir facilement le matériel à jour avec des informations précises et actuelles.

 

Un aspect crucial de la préparation aux tests est le suivi des performances. Laravel aide GlobalExam à collecter et analyser les données des utilisateurs pour fournir des feedbacks détaillés et des recommandations personnalisées. Laravel offre des outils robustes pour le reporting et les analytics, qui sont essentiels pour optimiser les parcours d'apprentissage.

 

public function getUserProgress($userId)
{
	$progress = Progress::where('user_id', $userId)->latest()->first();
	return view('users.progress', compact('progress'));
}

 

Ce code démontre l'utilisation de Laravel pour suivre et afficher les progrès des utilisateurs, en permettant un accès facile aux informations historiques et actuelles sur les performances.

 

GlobalExam est un exemple parfait de la façon dont Laravel peut être utilisé pour développer des applications web complexes, centrées sur l'utilisateur, dans le domaine de l'éducation.

2. Ornikar : Révolutionner l'apprentissage de la conduite

 

Ornikar est non seulement une auto-école en ligne qui offre des leçons de conduite et des cours de code de la route, mais elle transforme également la façon dont les gens apprennent à conduire en France. Utilisant Laravel, Ornikar offre une plateforme flexible et sécurisée pour que les utilisateurs planifient leurs leçons, étudient le code de la route et passent leurs examens, le tout en ligne.

 

Laravel permet à Ornikar de proposer une interface utilisateur (UI) fluide qui s'adapte à tous les appareils, essentielle pour les étudiants en déplacement. La facilité d'utilisation est améliorée par Laravel, qui soutient une expérience utilisateur homogène sur le site web, en permettant de réserver des leçons et d'accéder à des matériaux d'étude interactifs.

 

Exemple de code pour une réservation de leçon dans Laravel :

 

public function bookLesson(Request $request)
{
	$request->validate([
    	'lesson_date' => 'required|date',
    	'instructor_id' => 'required|exists:instructors,id',
	]);
 
	$lesson = new Lesson([
    	'student_id' => auth()->id(),
    	'instructor_id' => $request->instructor_id,
    	'scheduled_date' => $request->lesson_date,
	]);
 
	$lesson->save();
 
	return redirect()->back()->with('success', 'Lesson booked successfully!');
}

 

Ce code Laravel illustre comment une leçon peut être réservée via la plateforme, en s'assurant que toutes les données sont validées avant de procéder à l'enregistrement dans la base de données.

 

 

Avec un grand nombre d'utilisateurs accédant à des cours variés, la gestion efficace du contenu est cruciale. Laravel aide Ornikar à organiser et à mettre à jour ses contenus éducatifs de manière dynamique, garantissant que les informations sont toujours actuelles et pertinentes.

 

public function updateCourseMaterial(Request $request, $courseId)
{
	$course = Course::findOrFail($courseId);
	$course->update($request->all());
 
	return redirect()->back()->with('status', 'Course material updated successfully!');
}

 

Ce morceau de code permet aux administrateurs de mettre à jour facilement le matériel de cours, en utilisant l'ORM Eloquent de Laravel pour une interaction fluide avec la base de données.

 

Ornikar utilise Laravel pour suivre les progrès des étudiants et analyser les données d'utilisation pour améliorer continuellement leurs services. Cette fonctionnalité est essentielle pour fournir un feedback personnalisé aux étudiants et pour ajuster les méthodes d'enseignement en fonction des besoins des utilisateurs.

 

public function getStudentProgress($studentId)
{
	$progress = Progress::where('student_id', $studentId)->latest()->get();
	return view('students.progress', ['progress' => $progress]);
}

 

Ce code utilise Laravel pour récupérer et afficher les progrès d'un étudiant, aidant les instructeurs et les étudiants à visualiser les améliorations au fil du temps et à identifier les domaines nécessitant une attention supplémentaire.

 

Ornikar est un exemple éloquent de la manière dont Laravel peut être utilisé pour transformer des industries traditionnelles comme l'éducation à la conduite.

 

3. Lemon Learning : Transformer la formation logicielle en entreprise

 

Lemon Learning est une plateforme innovante qui révolutionne la formation logicielle en entreprise en intégrant des guides interactifs directement dans les outils SaaS utilisés par les entreprises. Grâce à Laravel, Lemon Learning offre une solution fluide et intégrée qui aide les employés à maîtriser rapidement et efficacement divers logiciels, en réduisant le temps nécessaire à la formation et en maximisant la productivité.

 

L'un des défis majeurs pour Lemon Learning était d'assurer une intégration transparente de ses guides interactifs avec une multitude d'applications d'entreprise sans perturber l'expérience utilisateur. Laravel a permis de développer une API robuste et sécurisée qui s'interface facilement avec n'importe quel logiciel d'entreprise utilisé par les clients.

 

Exemple de code pour une API Laravel gérant les requêtes d'intégration :

 

Route::post('/integration/setup', 'IntegrationController@store');
 
public function store(Request $request)
{
	$this->validate($request, [
    	'software_id' => 'required|exists:softwares,id',
    	'client_id' => 'required|exists:clients,id',
    	// Autres validations nécessaires
	]);
 
	$integration = new Integration([
    	'software_id' => $request->software_id,
    	'client_id' => $request->client_id,
    	// Autres paramètres
	]);
 
	$integration->save();
 
	return response()->json(['message' => 'Integration setup successfully!'], 201);
}

 

Ce code illustre comment Laravel peut être utilisé pour créer des endpoints API qui facilitent l'intégration de la plateforme Lemon Learning avec divers logiciels d'entreprise, permettant des configurations personnalisées pour chaque client.

 

 

Laravel aide également Lemon Learning à gérer de manière dynamique et efficace les contenus de formation. La plateforme doit constamment mettre à jour et personnaliser les tutoriels pour s'adapter aux logiciels qui évoluent rapidement. Laravel offre des outils puissants pour la gestion de contenu qui facilitent ces mises à jour régulières.

 

public function updateTutorial(Request $request, $tutorialId)
{
	$tutorial = Tutorial::findOrFail($tutorialId);
	$tutorial->update($request->all());
 
	return redirect()->back()->with('success', 'Tutorial updated successfully!');
}

 

Ce morceau de code permet aux administrateurs de Lemon Learning de mettre à jour les tutoriels directement via le tableau de bord, en utilisant l'ORM Eloquent pour une interaction efficace avec la base de données.

 

Un autre aspect crucial de Lemon Learning est le suivi des progrès des utilisateurs et l'analyse des performances des tutoriels. Laravel fournit des capacités sophistiquées de reporting et d'analyse qui permettent à Lemon Learning d'offrir des insights précieux aux entreprises sur l'efficacité des formations.

public function getUserProgress($userId)
{
	$progress = Progress::with('tutorials.completed')->where('user_id', $userId)->get();
	return view('progress.show', compact('progress'));
}

 

Ce code utilise Laravel pour recueillir et présenter des données détaillées sur la progression de chaque utilisateur, aidant les entreprises à mesurer l'impact réel de la formation sur la productivité et l'efficacité des employés.

 

Lemon Learning illustre parfaitement la capacité de Laravel à soutenir des solutions technologiques innovantes dans le domaine de la formation en entreprise.

 

4. HelloWork : Dynamiser le recrutement en ligne

 

HelloWork est une plateforme française leader dans le domaine du recrutement en ligne, qui connecte les employeurs aux candidats à travers une interface intuitive et efficace. Utilisant Laravel, HelloWork optimise les processus de recherche d'emploi et de recrutement, facilitant les interactions entre les entreprises et les chercheurs d'emploi grâce à des fonctionnalités avancées et une gestion fluide des données.

 

La plateforme HelloWork repose sur Laravel pour fournir une expérience utilisateur (UX) riche et interactive, facilitant la navigation, la recherche d'emploi et la gestion des candidatures. Laravel aide à structurer une interface utilisateur qui répond rapidement aux actions des utilisateurs, améliorant ainsi leur engagement et leur satisfaction.

 

Exemple de code pour afficher les offres d'emploi selon les filtres de l'utilisateur :

 

public function listJobs(Request $request)
{
	$jobs = Job::query();
 
	if ($request->has('location')) {
    	$jobs->where('location', $request->location);
	}
	if ($request->has('keyword')) {
    	$jobs->where('title', 'like', '%' . $request->keyword . '%');
	}
 
	return view('jobs.index', ['jobs' => $jobs->paginate(10)]);
}

 

Ce code illustre comment Laravel peut être utilisé pour créer des filtres dynamiques qui ajustent les résultats de recherche en fonction des préférences des utilisateurs, rendant la recherche d'emploi plus ciblée et efficace.

 

Laravel fournit à HelloWork les outils nécessaires pour gérer dynamiquement des milliers d'annonces d'emploi et de profils de candidats. L'ORM Eloquent intégré permet une manipulation aisée des données, assurant une mise à jour et une récupération efficace des informations pertinentes.

 

public function updateJob(Request $request, $jobId)
{
	$job = Job::findOrFail($jobId);
	$job->update($request->all());
 
	return redirect()->back()->with('success', 'Job updated successfully!');
}

Ce morceau de code montre comment les annonces d'emploi peuvent être mises à jour facilement par les employeurs, garantissant que les informations restent actuelles et précises.

 

La capacité de suivre les candidatures et d'analyser le comportement des utilisateurs est cruciale pour optimiser les stratégies de recrutement. Laravel aide HelloWork à collecter et analyser les données des utilisateurs, fournissant des insights précieux pour les employeurs sur l'efficacité de leurs annonces.

 

public function trackApplications($jobId)
{
	$applications = Application::where('job_id', $jobId)->get();
	return view('employers.analytics', ['applications' => $applications]);
}

 

Ce code utilise Laravel pour récupérer et afficher les données sur les candidatures reçues pour un poste spécifique, permettant aux employeurs de mesurer l'intérêt et l'efficacité de leurs annonces.

 

HelloWork démontre l'efficacité de Laravel dans le développement de solutions de recrutement en ligne.

 

5. Ecodrop : Faciliter le recyclage pour les professionnels du BTP

 

Ecodrop est une plateforme innovante qui révolutionne la gestion des déchets de construction en facilitant le recyclage pour les professionnels du BTP en France. Utilisant Laravel, Ecodrop offre une solution efficace pour localiser les points de collecte les plus proches, gérer les déchets de manière responsable, et optimiser la logistique des déchets de chantier.

 

Laravel aide Ecodrop à fournir une interface utilisateur claire et facile à naviguer, permettant aux professionnels de trouver rapidement des solutions de recyclage à proximité. La plateforme permet également une interaction fluide pour la réservation de collectes de déchets, la consultation des prix et le suivi des transactions.

 

Exemple de code pour la recherche de centres de recyclage par localisation :

 

public function searchRecyclingCenters(Request $request)
{
	$centers = RecyclingCenter::query();
	if ($request->has('zipcode')) {
    	$centers->where('zipcode', $request->zipcode);
	}
	return view('recycling.centers', ['centers' => $centers->get()]);
}

 

Ce code montre comment Laravel peut être utilisé pour filtrer les centres de recyclage en fonction du code postal fourni par l'utilisateur, simplifiant ainsi la recherche et aidant les professionnels à trouver les options les plus pratiques.

 

 

Laravel fournit les outils nécessaires pour gérer efficacement les profils des utilisateurs et les commandes de collecte de déchets. Les professionnels peuvent s'enregistrer, gérer leurs informations, et planifier des collectes en quelques clics.

 

public function updateProfile(Request $request)
{
	$user = Auth::user();
	$user->update($request->all());
 
	return redirect()->route('profile')->with('success', 'Profile updated successfully!');
}

 

Ce morceau de code illustre la mise à jour du profil utilisateur avec Laravel, utilisant l'authentification intégrée et l'ORM Eloquent pour une interaction sécurisée et efficace avec la base de données.

 

Laravel aide Ecodrop à suivre les transactions et à analyser l'efficacité des services offerts. La plateforme collecte des données sur les types et volumes de déchets collectés, permettant des analyses approfondies pour améliorer continuellement le service.

 

public function getTransactionDetails($transactionId)
{
	$transaction = Transaction::with('user', 'recyclingCenter')->findOrFail($transactionId);
	return view('transactions.detail', ['transaction' => $transaction]);
}

 

Ce code utilise Laravel pour récupérer les détails d'une transaction spécifique, y compris les informations sur l'utilisateur et le centre de recyclage, facilitant le suivi et l'analyse des services de collecte.

 

Ecodrop illustre parfaitement comment Laravel peut être exploité pour développer des solutions durables et efficaces dans le secteur du BTP.

 

En explorant ces cinq applications fascinantes développées avec Laravel - de GlobalExam à Ecodrop, en passant par Ornikar, Lemon Learning, et HelloWork -, il est clair que Laravel ne se contente pas d'être un simple outil de développement web. Il représente une solution complète qui offre flexibilité, efficacité et puissance pour relever les défis du développement web moderne. Chaque exemple met en lumière la capacité de Laravel à transformer des idées ambitieuses en réalités numériques robustes et performantes, offrant des expériences utilisateur riches et intuitives.

Que vous soyez un développeur cherchant à affiner vos compétences ou une entreprise en quête d'innovation, Laravel se présente comme le framework de choix pour créer des applications web qui se distinguent. En définitive, ces cinq exemples ne sont qu'un aperçu de ce qui est possible avec Laravel, ouvrant la porte à un monde de potentiel illimité pour les développeurs et les entreprises du monde entier.

Sommaire
Nos autres catégories
Notre newsletter tous les mois :
Je m'abonne
Merci ! C'est dans la boîte :)
Oops! Something went wrong while submitting the form.
Partager sur :
Nos autres catégories
Notre newsletter tous les mois :
Je m'abonne
Merci ! C'est dans la boîte :)
Oops! Something went wrong while submitting the form.
Partager sur :

Nos experts vous parlent
Le décodeur

5 exemples d'apps dévelopées en React Native : de Discord à Pinterest
26/3/2024

L'univers des applications mobiles évolue à une vitesse fulgurante, où chaque seconde compte et chaque expérience utilisateur peut faire la différence.

Au cœur de cette révolution numérique, React Native, un framework développé par Meta (anciennement Facebook), se distingue comme un outil puissant permettant de créer des applications mobiles performantes et esthétiquement agréables pour iOS et Android à partir d'un seul et même code. Cet article se propose de vous faire découvrir cinq applications innovantes développées avec React Native. De la communication instantanée avec Discord à la gestion de vos inspirations avec Pinterest, en passant par l'amélioration de l'expérience de voyage avec Airbnb, le contrôle de votre véhicule Tesla, et le suivi de vos campagnes publicitaires Facebook avec Meta Ads Manager, ces exemples illustrent parfaitement comment React Native révolutionne le monde des applications mobiles. Découvrons ensemble comment ce framework JavaScript aide les développeurs à réduire les coûts et le temps de développement tout en offrant aux utilisateurs des applications rapides, réactives et visuellement attrayantes.

 

1. Discord : Un hub de communication unifié

 

Dans le monde numérique d'aujourd'hui, Discord s'est rapidement imposé comme une plateforme de communication incontournable, offrant chat vocal, vidéo, et texte aux communautés et amis du monde entier. Grâce à React Native, Discord a réussi à étendre son expérience utilisateur unique à des millions d'utilisateurs mobiles sur iOS et Android, tout en maintenant une performance et une qualité exceptionnelles.

 

React Native a permis à Discord de partager une grande partie de son code entre les plateformes mobiles, réduisant ainsi le temps de développement et les efforts nécessaires pour maintenir l'application. Cette approche a également facilité l'implémentation de fonctionnalités complexes telles que le chat en temps réel, les notifications push, et le streaming vocal en direct, garantissant ainsi que les utilisateurs bénéficient d'une expérience fluide et cohérente, quelle que soit la plateforme qu'ils utilisent.

 

La gestion des notifications en temps réel sur des appareils multiples était l'un des défis majeurs. React Native a offert à Discord une manière efficace de gérer ce flux de données en temps réel grâce à sa compatibilité native avec les systèmes d'exploitation mobiles. Voici un exemple simplifié de code illustrant comment les notifications push peuvent être gérées dans une application React Native :

 

import { PushNotificationIOS } from 'react-native';
 
PushNotificationIOS.addEventListener('notification', function(notification){
  console.log('You have received a new notification!', notification);
});
 
function sendNotification() {
  PushNotificationIOS.presentLocalNotification({
	alertBody: 'Votre ami a envoyé un message sur Discord!',
  });
}

 

Cet extrait montre comment une application React Native peut écouter et réagir aux notifications push, un élément clé pour maintenir les utilisateurs engagés et informés dans l'environnement rapide de Discord.

 

L'adoption de React Native a permis à Discord non seulement de synchroniser l'expérience utilisateur entre les versions de bureau et mobiles mais aussi d'introduire des mises à jour simultanées sur toutes les plateformes. Cela signifie que les utilisateurs mobiles bénéficient des mêmes fonctionnalités et de la même réactivité que ceux sur PC, contribuant ainsi à renforcer la communauté et l'engagement global sur Discord.

 

L'utilisation de React Native par Discord est un exemple parfait de la manière dont les technologies modernes peuvent être utilisées pour créer des applications mobiles complexes et performantes.

 

2. Airbnb : Réinventer l'expérience de voyage

 

Airbnb, le géant de la location de logements de vacances en ligne, a choisi React Native pour une partie de son développement mobile, cherchant à unifier l'expérience utilisateur sur les plateformes iOS et Android. Cette décision illustre la volonté d'Airbnb d'optimiser et de rendre plus agile le développement de nouvelles fonctionnalités, tout en maintenant une expérience utilisateur homogène et de haute qualité.

 

La transition vers React Native a été motivée par le besoin d'accélérer le développement de l'application mobile tout en réduisant les coûts. Grâce à React Native, Airbnb a pu réutiliser le code entre les plateformes mobiles et web, optimisant ainsi les ressources et réduisant significativement le temps de développement. Cette approche a également facilité la mise à jour et l'amélioration de l'application, permettant à Airbnb de répondre rapidement aux besoins des utilisateurs.

 

Un des principaux défis rencontrés par Airbnb était de maintenir une expérience utilisateur fluide et réactive, en particulier pour les fonctionnalités riches en contenu comme les galeries de photos et les cartes interactives. React Native a offert des solutions performantes à ces problématiques, notamment grâce à des composants optimisés et à la possibilité d'intégrer du code natif pour les parties les plus exigeantes de l'application. Voici un exemple de code illustrant l'intégration d'une galerie de photos dans une application React Native :

 

import React from 'react';
import { FlatList, Image, StyleSheet, View } from 'react-native';
 
export default const PhotoGallery = ({ photos }) => (
  <View style={styles.container}>
	<FlatList
  	data={photos}
  	renderItem={({ item }) => (
    	<Image source={{ uri: item.url }} style={styles.photo} />
  	)}
  	keyExtractor={item => item.id}
  	horizontal
	/>
  </View>
);
 
const styles = StyleSheet.create({
  container: {
	height: 200,
  },
  photo: {
	width: 200,
	height: 200,
	marginRight: 10,
  },
});

 

Cet exemple montre comment un composant de galerie de photos peut être implémenté dans React Native, offrant une expérience fluide et réactive aux utilisateurs souhaitant explorer les images des logements disponibles sur Airbnb.

 

 

L'adoption de React Native par Airbnb a significativement amélioré l'expérience utilisateur sur mobile. Les utilisateurs bénéficient désormais de performances optimales et d'une interface utilisateur cohérente sur les différentes plateformes. De plus, React Native a permis à Airbnb de déployer rapidement de nouvelles fonctionnalités, assurant ainsi que l'application répond toujours mieux aux attentes des voyageurs et des hôtes.

 

L'expérience d'Airbnb avec React Native démontre l'efficacité de ce framework pour le développement d'applications mobiles complexes et performantes.

 

3. Tesla : Connectivité avancée pour les propriétaires de véhicules

 

Tesla, pionnière dans l'industrie des véhicules électriques, a également embrassé React Native pour offrir à ses propriétaires une application mobile riche en fonctionnalités, permettant de contrôler et de surveiller leurs véhicules à distance. Cette application représente un élément clé de l'expérience Tesla, reflétant l'innovation et la technologie de pointe de la marque.

 

L'utilisation de React Native par Tesla montre comment le framework peut être étendu au-delà des applications traditionnelles pour englober des fonctionnalités IoT (Internet of Things) avancées. React Native a permis à Tesla de développer une application performante qui interagit en temps réel avec ses véhicules, offrant des fonctionnalités telles que le contrôle à distance de la température, le verrouillage et déverrouillage des portes, et le suivi de la localisation du véhicule.

 

Un des défis majeurs pour Tesla était de garantir que l'application puisse communiquer de manière fiable et sécurisée avec les véhicules. Pour cela, Tesla a intégré des interfaces de programmation d'application (API) sécurisées, permettant à l'application React Native de transmettre des commandes et de recevoir des données du véhicule en temps réel. Voici un exemple simplifié de code montrant comment une commande peut être envoyée à un véhicule Tesla à partir de l'application :

 

 

import React, { useState } from 'react';
import { Button, StyleSheet, View } from 'react-native';
 
export default const VehicleControl = ({ apiToken, vehicleId }) => {
  const [status, setStatus] = useState('Disconnected');
 
  const unlockDoors = async () => {
	const response = await fetch(`https://api.tesla.com/api/1/vehicles/${vehicleId}/command/door_unlock`, {
  	method: 'POST',
  	headers: {
    	'Authorization': `Bearer ${apiToken}`,
    	'Content-Type': 'application/json',
  	},
	});
 
	if (response.ok) {
  	setStatus('Unlocked');
	} else {
  	setStatus('Failed to unlock');
	}
  };
 
  return (
	<View style={styles.container}>
  	<Button title="Unlock Doors" onPress={unlockDoors} />
  	<Text>{status}</Text>
	</View>
  );
};
 
const styles = StyleSheet.create({
  container: {
	flex: 1,
	justifyContent: 'center',
	alignItems: 'center',
  },
});

 

Cet exemple illustre comment les propriétaires de Tesla peuvent interagir avec leur véhicule directement depuis leur smartphone, en utilisant React Native pour envoyer des commandes sécurisées via l'API de Tesla.

 

L'application Tesla, développée avec React Native, enrichit considérablement l'expérience du propriétaire en offrant une interface intuitive pour accéder à une multitude de contrôles et d'informations sur le véhicule. Cette intégration harmonieuse de la technologie mobile et automobile souligne l'engagement de Tesla envers l'innovation et la satisfaction du client, en mettant la technologie de pointe au bout des doigts des utilisateurs.

 

La réussite de l'application Tesla démontre le potentiel de React Native pour développer des applications mobiles qui vont au-delà du cadre traditionnel, en s'étendant aux domaines de l'IoT et de l'interaction véhicule-utilisateur.

 

4. Pinterest : Réinventer le partage d'inspirations

 

Pinterest est une application mobile très populaire utilisée par des millions de personnes pour trouver de l'inspiration, des idées pour leurs intérêts, hobbies et projets. La plateforme a intégré React Native de façon progressive dans son application iOS et Android pour optimiser le développement de nouvelles fonctionnalités et améliorer l'expérience utilisateur sur les deux plateformes.

 

L'un des plus grands défis de Pinterest était de maintenir une expérience utilisateur fluide et cohérente à travers les différentes plateformes tout en intégrant de nouvelles fonctionnalités de manière rapide et efficace. L'utilisation de React Native a permis à Pinterest de partager une grande partie de son code entre iOS et Android, ce qui a significativement réduit le temps de développement et les coûts associés.

 

Voici un exemple de composant React Native qui pourrait être utilisé pour afficher une grille de photos inspirantes, typique de Pinterest :

 

import React from 'react';
import { View, Image, StyleSheet, ScrollView } from 'react-native';
 
export default const InspirationGrid = ({ images }) => (
  <ScrollView contentContainerStyle={styles.grid}>
	{images.map((img, index) => (
  	<Image key={index} source={{ uri: img.url }} style={styles.photo} />
	))}
  </ScrollView>
);
 
const styles = StyleSheet.create({
  grid: {
	flexDirection: 'row',
	flexWrap: 'wrap',
	justifyContent: 'center',
  },
  photo: {
	width: 100,
	height: 100,
	margin: 2,
  },
});

Ce code montre comment un simple composant React Native peut être utilisé pour créer une grille d'images, permettant aux utilisateurs de Pinterest de parcourir visuellement diverses inspirations rapidement et efficacement.

 

 

Pinterest utilise également React Native pour améliorer les interactions utilisateur en rendant l'application plus réactive et en réduisant les temps de chargement. Cela inclut l'amélioration des transitions et animations qui rendent l'exploration de contenus plus intuitive et engageante.

 

import { Animated } from 'react-native';
 
// Animation pour un effet de zoom lors du tap sur une image
const scaleValue = new Animated.Value(1);
 
const onPressImage = () => {
  Animated.spring(scaleValue, {
	toValue: 0.9,
	friction: 3,
	useNativeDriver: true,
  }).start(() => {
	Animated.spring(scaleValue, {
  	toValue: 1,
  	friction: 3,
  	useNativeDriver: true,
	}).start();
  });
};

 

Cet extrait de code démontre comment utiliser les animations de React Native pour ajouter un effet de zoom dynamique lorsqu'une image est pressée, améliorant ainsi l'engagement et l'expérience utilisateur sur l'application.

 

L'intégration de React Native dans l'application Pinterest a non seulement permis d'améliorer la performance et la cohérence entre les plateformes mais aussi de réduire le temps nécessaire pour tester et déployer de nouvelles fonctionnalités.

5. Meta Ads Manager : Optimisation de la gestion publicitaire

 

Meta Ads Manager (ou Publicité Facebook en français) est un exemple éminent de l'utilisation de React Native pour une application largement utilisée et critique pour les affaires. Conçue pour permettre aux entreprises et aux individus de gérer leurs campagnes publicitaires sur Facebook, cette application illustre parfaitement comment React Native facilite le développement rapide et efficace d'applications complexes et performantes qui nécessitent une gestion de données en temps réel et une interaction utilisateur intensive.

 

Un défi majeur pour Meta Ads Manager était de fournir une expérience utilisateur cohérente et performante sur les différentes plateformes mobiles, tout en intégrant des fonctionnalités complexes de gestion de campagnes publicitaires. React Native a permis de développer une application unique qui fonctionne de manière fluide à la fois sur iOS et Android, réduisant ainsi les coûts et le temps de développement associés au maintien de deux bases de code séparées.

 

Exemple de code pour une vue simplifiée de la gestion des campagnes dans Meta Ads Manager :

import React from 'react';
import { View, Text, Button, StyleSheet } from 'react-native';
 
export default const CampaignItem = ({ campaign, onEditPress }) => (
  <View style={styles.container}>
	<Text style={styles.title}>{campaign.name}</Text>
	<Text style={styles.status}>Statut: {campaign.status}</Text>
	<Button title="Modifier" onPress={() => onEditPress(campaign.id)} />
  </View>
);
 
const styles = StyleSheet.create({
  container: {
	padding: 10,
	borderBottomWidth: 1,
	borderBottomColor: '#ccc',
  },
  title: {
	fontSize: 16,
	fontWeight: 'bold',
  },
  status: {
	fontSize: 14,
	color: '#666',
  },
});

 

Ce composant affiche les informations clés d'une campagne publicitaire et permet une interaction rapide pour la modification, illustrant comment React Native peut être utilisé pour créer des interfaces utilisateur dynamiques et interactives.

 

 

L'application Meta Ads Manager nécessite non seulement une grande réactivité de l'interface mais aussi une gestion efficace des données en temps réel pour afficher les performances des campagnes publicitaires. React Native offre des outils puissants pour optimiser les performances, comme le chargement paresseux des données et la mise en cache des résultats, qui améliorent significativement l'expérience utilisateur.

import { ScrollView, View, Text, ActivityIndicator } from 'react-native';
 
export default const CampaignList = ({ campaigns, isLoading }) => (
  <ScrollView>
	{isLoading ? (
  	<ActivityIndicator size="large" color="#0000ff" />
	) : (
  	campaigns.map(campaign => <CampaignItem key={campaign.id} campaign={campaign} />)
	)}
  </ScrollView>
);

 

Cet exemple montre comment les composants de React Native, tels que ScrollView et ActivityIndicator, peuvent être utilisés pour construire une expérience utilisateur fluide qui gère efficacement les états de chargement des données.

 

Meta Ads Manager est un exemple brillant de la manière dont React Native peut être exploité pour développer des applications mobiles complexes, largement utilisées et critiques pour le commerce.

 

En explorant ces cinq applications diverses - de Discord à Meta Ads Manager, en passant par Airbnb, Tesla, et Pinterest – nous avons pu constater la puissance et la flexibilité de React Native comme outil de développement d'applications mobiles. Chacun de ces exemples montre comment React Native permet de créer des expériences utilisateur riches et performantes sur iOS et Android à partir d'un code partagé, simplifiant le processus de développement tout en offrant une excellente qualité et réactivité.

 

React Native se distingue par sa capacité à réduire les délais de développement, à faciliter la maintenance des applications et à offrir une expérience utilisateur homogène sur différentes plateformes. Que ce soit pour améliorer la connectivité entre les véhicules et leurs propriétaires, fournir une plateforme de bien-être mental accessible, ou encore permettre aux créateurs de gérer leur présence en ligne, React Native se révèle être un choix stratégique pour les développeurs cherchant à innover et à répondre aux besoins des utilisateurs modernes.

 

Ces exemples d'applications en React Native illustrent parfaitement comment la technologie peut être utilisée pour répondre à des besoins variés et complexes, ouvrant la voie à de nouvelles possibilités dans le monde du développement d'applications mobiles. Avec React Native, le futur des applications mobiles semble prometteur, marqué par une innovation continue et une expérience utilisateur toujours plus enrichie.

Git : initiation, merge vs rebase, démo
22/6/2023

Origine


Git a été inventé et développé par Linus Torvalds en 2005. Il s’agit un logiciel libre et gratuit permettant aux développeurs de gérer les changements apportés au code au fil du temps. Linus Torvalds c’est aussi le petit génie qui est à l’origine du noyau Linux qu’il a commencé en 1991, donc bien avant Git.


Linux c’est un projet plutôt conséquent et il a donc dû nécessiter l’usage d’un outil de gestion de version. Cet outil, à l’époque, c’est BitKeeper. Le problème de BitKeeper, c’est qu’il s’agit d’un logiciel propriétaire et que toute la communauté qui gravite autour de Linux, elle n’aime pas vraiment les logiciels propriétaires. Alors que BitKeeper n’est déjà pas totalement apprécié par la communauté Linux, ils vont faire une annonce qui va déclencher la colère de toute cette communauté et surtout de Linus Torvalds. Ils vont cesser, du jour au lendemain, d’être gratuit. C’est à ce moment précis que Linus Torvalds décide de développer lui même son propre système de gestion de version du code source et tout comme Linux, ce système sera libre et gratuit.


Système de contrôle de version (VCS)


Git est donc un système de contrôle de version, il permet tout simplement de suivre l’évolution du code au fil du temps, à l’aide de branche, de fichiers et d’opérations sur ces fichiers.


Git est structuré comme suit :

  • on y retrouve des fichiers (le code source)
  • des branches (correspondant à une arborescence de fichiers)
  • et des opérations pour faire évoluer les fichiers dans les branches


Grâce à ces opérations, git permet de savoir qui a touché à quel fichier, à quel moment et comment.


GitHub, GitLab, Bitbucket, etc.


Git est un logiciel qui permet de sauvegarder et de gérer localement l’évolution du code source au fil du temps. GitHub, GitLab, Bitbucket, etc. sont des plateformes (web) qui se servent du logiciel git pour gérer le code source. Les dépôts ne sont alors plus gérer localement mais sur des serveurs distants et permettent donc notamment la collaboration avec plusieurs personnes. Ces plateformes proposent également de nombreuses fonctionnalités de gestion de projets et d’équipes (wiki, affectations de tâches, suivi des problèmes, roadmap, statistiques, etc.).

Les bases

Git Flow


Git Flow est une organisation de travail basé sur la capacité de Git à gérer des branches. Par défaut il existe une branche principale qui s’appelle main (anecdote : anciennement master, ce nom par défaut a changé pour des raisons culturelles, ne plus assimiler la notion de master/slave à l’industrie du développement face aux nombreux cas de racisme dans le monde). Il existe une deuxième branche que nous allons créer et qui sera également considérée comme principale, il s’agit de la branche develop.

Nous avons donc 2 branches principales :

  • main (anciennement master), qui représente le code source utilisé sur la production
  • develop, qui contient les dernières fonctionnalités dont la phase de développement est terminée

Tout au long du développement du projet, de nombreuses branches seront créées lors du développement des fonctionnalités et des corrections diverses. Ces branches respecteront des conventions de nommages comme suit :

  • feature/*, pour les branches de fonctionnalités
  • hotfix/* ou bugfix/*, pour les branches de corrections
  • refactor/*, pour améliorer la qualité du code

Conventional Commits


Conventional Commits est une spécification dont le but est d’améliorer la lisibilité des commits et l’historique des modifications du code source. À l’aide de ces conventions on peut identifier immédiatement le type, le contexte et l’objectif des modifications apportées au code sur un commit (nota bene : Cela permet aussi d’être compris par des outils automatisé pour générer de la documentation en autres).

Format Conventional Commits

Les types de commits les plus utilisés sont :

  • feat, développement d’une feature
  • fix, correction d’un bug
  • refactor, amélioration du code
  • test, ajout ou mise à jour de tests
  • chore, tâche technique non assimilée à une feature
  • remove, revert, style, ci, docs, etc.
Exemples de commits suivant la convention

Workflow : merge vs rebase


Avec Git Flow on travaille donc sur des branches partant de develop (ou autre) et une fois le travail terminé on met à jour develop pour qu’il ai connaissance des modifications apportées.

Il existe plusieurs façons de ramener les modifications d’une branche vers une autre. On peut utiliser la politique de merge ou bien la politique de rebase. Ces deux méthodes ont des avantages et des inconvénients.


Politique de merge


Lorsque le travail de développement est terminé sur une branche (de feature, de refactor, etc.), la branche contient un certain nombre d’opération qui n’existent pas sur la branche d’origine. Le principe de la politique de merge est simple : récupérer les modifications faites sur une branche et les ramener sur une autre branche qui n’a pas connaissance de ces modifications. Ces modifications sont ramenées telles quelles.

Avantages :

  • traçabilité totale, l’historique du code source correspond totalement à ce qui a été fait
  • résolution des conflits en une seule fois (peut être un inconvénient dans certains cas)


Inconvénients :

  • historique du code source vite pollué par des opérations inutiles “wip” ou des opérations qui s’annulent
  • historique peu fiable et difficile à debugger
  • résolution des conflits en une seule fois (peut être un avantage dans certains cas)


Politique de rebase


Lorsque le travail de développement est terminé sur une branche (de feature, de refactor, etc.), la branche a donc un certain nombre d’opération qui diverge de la branche principale. Lorsqu’on suit une politique de rebase, notre objectif va être de nettoyer ces opérations en les réécrivant jusqu’à avoir le nombre minimum d’opérations pertinentes.  

Avantages :

  • historique du code source linéaire et lisible qui peut servir de documentation
  • messages de commit clairs et respectant les conventions, plus de “wip”
  • plus de commits qui s’annulent et donc une fiabilité de l’historique
  • facilité pour revenir en arrière et trouver l’origin d’un bug car l’historique n’est pas pollué
  • facilité pour revoir une feature complète, pour la modifier ou l’annuler
  • résolution des conflits opération par opération (peut être un inconvénient dans certains cas)


Inconvénients :

  • demande une grande rigueur car on réécrit en permanence l’historique
  • demande une bonne communication ou des règles précises si on travaille en équipe sur la même branche
  • la réduction d’une nombre d’opération au minimum est parfois trop extrême et atténue la clarté du contexte dans certains cas
  • résolution des conflits opération par opération (peut être un avantage dans certains cas)


Nettoyage avec rebase Interactif


Avec la politique de rebase on réécrit l’historique des opérations faites sur le code source. Pour cela on peut utiliser des outils comme GitKraken ou autre, mais on peut également utiliser la commande git rebase interactive.


Les rebases réécrivent l’historique et donc écrasent totalement ce qui existait avant. En équipe il est donc indispensable de bien communiquer, de bien se mettre à jour et de prendre le soin de ne pas travailler sur la même branche. Si ces règles ne sont pas respecter, les pertes de code sont plus que probables !


Le processus classique de développement pour ne pas rencontrer de problèmes et profiter de la puissance du rebase est le suivant (en plus  :

  • travailler en local en faisant autant d’opérations que nécessaires
  • lorsque le travail est terminé et que tout fonctionne comme il faut, créer une pull request et demander une revue de code en gardant l’historique de code tel qu’il est pour garder du contexte et donner à l’auteur de la revue de code un moyen de comprendre le cheminement de pensé qui a amené à ces modifications
  • une fois la revue de code terminée et acceptée, il faut utiliser le rebase interactive pour nettoyer le code et ne garder que les opérations nécessaires
  • intégrer les modifications sur la branche d’origine et supprimer la branche créée précédemment

🧑💻 Démonstration


Supposons nous avons un dépôt git avec une seule branche main et un seul fichier hello.ts qui contient une fonction “Hello World !” comme suit :

Maintenant, nous devons développer la fonctionnalité “Good Bye World!”.

Pour cela, nous allons donc commencer par créer une branche qui respecte les conventions de nommage : git checkout -b feature/good-bye
Puis, nous allons créer un fichier good-bye.ts et écrire la fonction suivante :

Et nous allons créer un commit contenant cette fonctionnalité : git commit -m “feat: good bye world”.


Vous l’avez peut-être remarqué, une erreur s’est glissée dans la fonction, nous allons donc faire un commit pour la corriger :

Avec le commit suivant : git commit -m “fix(good-bye): typo”.

Nous avons donc 2 commits alors qu’il serait plus pertinent d’en avoir qu’un seul. Nous allons donc utiliser le git rebase interactive pour réécrire l’historique des modifications.

Pour initialiser le rebase interactive on utilise la commande suivante : git rebase interactive HEAD~2

Cette commande va ouvrir l’interface suivante :

Sur cette interface on voit les 2 derniers commits de mon dépôt git (parce qu’on a utilisé HEAD~2). On y retrouve également une documentation des commandes qu’on peut utiliser devant l’identifiant de chaque commit.


Dans notre cas, on veut fusionner les modifications du deuxième commit avec le premier commit. C’est donc la commande fixup qui nous intéresse, nous allons donc remplacer pick devant le commit fix(good-bye): typo par fixup.


On enregistre et on obtient l’historique suivant (un seul commit) :

7f077f4 (HEAD -> feature/good-bye-world) feat: good bye world

Liens utiles

Développement d’une application Android avec React Native
3/11/2023

Il y a quelques années maintenant, le développement d'applications mobiles a connu une révolution. Chez Yield Studio, nous l'avons adoptée avec passion. Vous avez forcément déjà entendu parler des systèmes d’exploitation mobile Android et d'iOS ? Pour nous, concevoir une application pour l'un ou l'autre, revient à la même charge de travail.

En effet, grâce à la technologie React Native, nous sommes capables de développer simultanément pour ces deux géants du mobile. Plongez dans notre guide ultime du développement d’application Android.

Que vous soyez novice ou expert, découvrez comment transformer une simple idée en une application concrète. C'est parti !

📗 Comprendre les bases du développement Android

Android, ce n'est pas seulement un petit robot vert que vous voyez sur votre smartphone. En réalité, il s’agit d’un puissant système d'exploitation, utilisé par des milliards d’appareils mobiles à travers le monde. Avant de plonger dans la création d'une application, quelques notions clés s'imposent.

Premièrement, parlons "langage". Pour développer sur Android, on utilise principalement Kotlin, bien que d'autres langages de programmation comme le Java puissent également être adoptés. Kotlin est donc la pierre angulaire de bon nombre d'applications que vous utilisez quotidiennement si vous disposez d’un smartphone ou d’une tablette fonctionnant sous Android.

Voyons un exemple de code source Kotlin des plus basiques :

Dans cet exemple de code source Kotlin, nous utilisons un élément TextView pour afficher le texte « Bienvenue sur notre application Android ! ».

Ensuite, il y a l’environnement de développement, Android Studio. C'est le logiciel officiel, mis à disposition par Google, pour concevoir des applications mobiles Android. Doté d'une panoplie d'outils, il facilite la vie des développeurs, des plus novices aux plus chevronnés.

Voici une capture d’écran de l’environnement de développement Android Studio avec du code source Kotlin rédigé sur la droite de l’écran :

Mais chez Yield Studio, nous avons une large préférence pour React Native. Open source et ultra performant, il nous permet de concevoir des applications à la fois pour Android et iOS avec une seule et même base de code source JavaScript. Une véritable révolution qui simplifie le processus tout en garantissant une expérience utilisateur optimale.

Grossièrement, ce code source React Native emploie un composant Text au sein d'un élément View, avec un style appliqué pour le positionnement et la mise en forme du texte.

En résumé, le développement Android, c'est un mélange entre un langage de programmation, des outils adaptés et, dans notre cas, une touche de magie avec React Native.

Curieux d'en savoir plus ? Alors, continuons l'aventure ensemble !

👨‍💻 La technologie multiplateforme React Native

Lorsque l’on parle de développement d'applications mobiles, une question majeure revient souvent :

« Comment concevoir pour Android et iOS sans doubler le travail ? ».

Notre réponse : React Native !

Conçue par Méta (anciennement Facebook), React Native est une technologie open source qui a révolutionné la façon dont les développeurs conçoivent des applications mobiles. Avec ce Framework, nous n’avons plus besoin de créer deux applications distinctes pour les appareils fonctionnant sous Android et ceux utilisant iOS. Il suffit d’écrire un même code source JavaScript pour que React Native se charge de le transposer simultanément pour les deux systèmes d'exploitation.

Magique, n'est-ce pas ?

Chez Yield Studio, nous avons adopté cette technologie pour une raison simple : elle optimise notre efficacité ! Grâce à React Native, développer une application Android ou iOS représente exactement la même charge de travail pour nous. Quelques différences demeurent, bien sûr, mais elles sont mineures comparées à l'avantage principal : un gain de temps considérable.

Mais ce n'est pas tout ! React Native offre également des interfaces utilisateur fluides, adaptées à chaque plateforme. Les utilisateurs bénéficient ainsi d'une expérience homogène, que ce soit sur Android ou sur iOS.

En choisissant React Native, on fait le choix d'un développement plus rapide, plus cohérent et tout aussi performant. Chez Yield Studio, c'est cette technologie innovante qui nous guide au quotidien, nous permettant de délivrer des applications de haute qualité sur tous les fronts.

💡 Les étapes clés pour créer une application Android

Dès l'instant où l'on décide de se lancer dans le développement d'une application Android, un parcours structuré s'impose. Voici un guide étape par étape pour naviguer dans ce processus avec confiance :

  1. Définir le concept : Avant toute chose, clarifiez votre idée. Quelle est la valeur ajoutée de votre application ? À quel besoin répond-elle ?

  1. Conception de l'interface utilisateur : Une application réussie est intuitive. Travaillez sur un design ergonomique, adapté aux spécificités des appareils Android.

  1. Choisir le bon langage de programmation : Si nous privilégions React Native et donc JavaScript, chez Yield Studio, d'autres options existent. Kotlin et Java sont les langages utilisés pour développer de manière native sous Android.

  1. Utiliser Android Studio : Cet outil de développement, mis à jour régulièrement, est essentiel. Il intègre le SDK (pour Software Development Kit) Android offrant ainsi tout ce dont un développeur Android a besoin.

  1. Tests et améliorations : Une fois votre application développée, la phase de test est cruciale. Elle vous permet de détecter d'éventuels bugs et d'optimiser l'expérience utilisateur.

  1. Mise à jour constante : Le monde des applications évolue vite. Assurez-vous de mettre régulièrement à jour votre application pour répondre aux besoins changeants des utilisateurs et aux mises à jour du système d'exploitation.

  1. Lancement et promotion : Une fois que tout est en place, lancez votre application sur le Google Play Store. Ne négligez pas sa promotion pour garantir sa visibilité et son succès.

Créer une application Android est un voyage passionnant, parsemé de défis. Mais avec une méthodologie claire et les bons outils, comme ceux que nous utilisons chez Yield Studio, votre idée peut rapidement devenir une réalité prisée par des milliers d'utilisateurs.

📝 Publication et mise à jour

Entrer dans le monde des applications Android ne se termine pas simplement avec le développement de votre application. Deux étapes cruciales restent à franchir pour assurer sa pérennité : la publication et les mises à jour. Voici un aperçu de ce que cela implique :

  1. Avant de soumettre votre application Android sur le Google Play Store, vérifiez sa conformité aux directives de la plateforme. Veillez à préparer tous les éléments visuels et descriptifs nécessaires pour présenter votre application sous son meilleur jour.

  1. Une fois prête, soumettez l’application sur le store pour revue. Après validation, elle sera accessible à des millions d'utilisateurs. C'est le moment clé pour voir votre travail récompensé.

  1. Les avis des utilisateurs sont essentiels. Ils vous fourniront des informations précieuses pour améliorer votre application au fur et à mesure de son existence.

  1. En fonction des retours et avis des utilisateurs et des évolutions technologiques futures, planifiez des mises à jour régulières. Cela garantira la satisfaction des utilisateurs et la compatibilité avec les dernières versions d'Android.

  1. Le monde d'Android évolue sans cesse. Intégrez de nouvelles fonctionnalités et tendances pour que votre application reste au goût du jour.

  1. Comme tout produit, une application nécessite des réajustements. Analysez régulièrement les performances de votre application et effectuez les modifications qui s’imposent.

Chez Yield Studio, nous sommes conscients de l'importance de chaque étape. C'est pourquoi nous accompagnons nos clients bien au-delà du simple développement. La publication et la mise à jour sont des phases essentielles pour que votre application Android reste pertinente et appréciée de sa communauté.

Le développement d'applications Android a grandement évolué ces dernières années, poussé par des innovations et des technologies comme React Native ou Flutter. Si vous envisagez de développer une application Android, il est essentiel de comprendre les bases, mais aussi d'embrasser les nouvelles tendances qui façonnent l'avenir de la conception d’applications mobiles.

Chez Yield Studio, grâce à notre expertise en React Native, nous sommes prêts à transformer votre idée en une application fluide, performante et adaptée à la fois pour Android et iOS. En se tournant vers le futur tout en maîtrisant les fondamentaux du développement Android, nous vous assurons une présence mobile solide et durable. 

🚀 Alors, prêt à créer la prochaine application révolutionnaire ? Nous sommes là pour vous accompagner.

Échangeons
sur votre projet !

Nous contacter

Simulateur

Bienvenue dans le
simulateur d’estimation

Sélectionnez
vos besoins

Sélectionnez un ou plusieurs choix

Définissez les
fonctionnalités

Sélectionnez un ou plusieurs choix

Dernière
étape !

Renseignez votre adresse mail pour recevoir l’estimation !
Obtenez l’estimation
Précédent
Suivant

Bravo ! Vous avez terminé
l’estimation de votre future app !

Vous recevrez dans votre boite mail l’estimation personnalisé. Une estimation vous offre la possibilité de vous projeter dans un budget, vous permettant ainsi de planifier en toute confiance. Néanmoins, chez Yield, nous adoptons une approche agile, prêts à remettre en question et ajuster nos évaluations en fonction de l'évolution de vos besoins et des spécificités de votre projet.
Retour au site
Oops! Something went wrong while submitting the form.