Trouver une alternance en développement web sans réseau : méthode concrète
Vous avez sans doute déjà reçu ce conseil pour décrocher une alternance, et il tient en un mot : réseau. Parlez-en autour de vous, relancez vos anciens collègues, activez vos contacts. C'est un bon conseil quand on a des contacts dans le métier. Quand on se reconvertit et qu'on ne connaît aucun développeur, il ne vous aide pas, et il laisse une impression désagréable : celle que l'alternance se joue avant même d'avoir envoyé un mail.
Cet article propose autre chose : remplacer le réseau par une liste. Une liste d'entreprises dont un établissement ouvert près de chez vous est déclaré en programmation informatique, construite à partir de l'annuaire public de l'État, triée par taille, et dont vous connaissez les limites. Puis un argument chiffré à mettre dans le message, parce qu'à mon sens, une entreprise qui ne vous connaît pas regarde d'abord ce que vous lui coûtez et ce que vous savez déjà faire.
Méthode habituelle de ce blog : les deux scripts de l'article ont été exécutés le 28 septembre 2026 avec Node.js 20.19.4, et leurs sorties sont reproduites telles quelles. Les règles juridiques viennent du Code du travail et de service-public.fr, relus le même jour. Les comptes d'entreprises bougent tous les jours : si vous relancez le script, attendez-vous à quelques unités d'écart.
Ce que le Code du travail vous laisse comme marge
Première bonne nouvelle : vous n'êtes pas obligé d'avoir signé un contrat pour commencer. L'article L6222-12-1 du Code du travail permet à une personne de 16 à 29 ans révolus qui n'a pas encore d'employeur de « débuter un cycle de formation en apprentissage dans la limite d'une durée de trois mois ». Pendant ces trois mois, vous avez le statut de stagiaire de la formation professionnelle, et le texte précise que le centre de formation « l'assiste dans la recherche d'un employeur ».
Concrètement, cela change votre calendrier. Au lieu de chercher tout l'été une entreprise pour une rentrée de septembre, vous pouvez entrer en formation et continuer à chercher pendant trois mois, avec l'école à vos côtés. Demandez au centre de formation, dès l'inscription, s'il ouvre cette possibilité sur la formation que vous visez et comment il accompagne la recherche : c'est, selon moi, la question à poser en priorité lors d'une journée portes ouvertes.
La marge joue aussi dans l'autre sens. Le contrat peut commencer avant la formation : selon la fiche service-public sur le contrat d'apprentissage, vérifiée le 8 septembre 2026, « l'apprenti doit entrer en formation dans les 3 mois qui suivent le début du contrat », ce que prévoit l'article L6222-12. Avec l'article L6222-12-1 vu plus haut, vous disposez donc d'une fenêtre de trois mois de part et d'autre de la rentrée. Ce qui compte est la date à laquelle le contrat commence, pas celle de sa signature.
Dernier point, l'âge. L'apprentissage est ouvert de 16 à 29 ans révolus au début du contrat, sans limite d'âge pour une personne reconnue travailleur handicapé, pour un projet de création ou de reprise d'entreprise qui exige le diplôme, et dans quelques autres cas prévus par l'article L6222-2. Si vous avez 30 ans ou plus et qu'aucune exception ne vous concerne, la voie s'appelle le contrat de professionnalisation, ouvert aux demandeurs d'emploi de 26 ans et plus. Pour un salarié de 26 ans et plus, il est payé au minimum au SMIC.
Construire la liste en quelques secondes
Toutes les entreprises françaises ont un code d'activité, le code NAF, attribué par l'INSEE. Celui qui correspond au développement sur mesure est le 62.01Z, « Programmation informatique ». L'État publie gratuitement une API de recherche d'entreprises, sans inscription ni clé, qui accepte ce code comme filtre, avec le département et la tranche d'effectif. Sa documentation fixe une limite de sept requêtes par seconde, en précisant que ce n'est pas un débit garanti : le script ci-dessous en fait moins de quatre et, s'il reçoit malgré tout une réponse HTTP 429, il attend le délai demandé par le serveur avant de réessayer.
Voici le script complet. Il compte les entreprises actives du code demandé dans un département, les répartit par taille, puis relit une par une celles de 10 à 49 salariés pour vérifier ce qu'elles déclarent sur place, et écrit celles qu'il retient dans un fichier CSV : numéro SIREN, nom, numéro SIRET de l'établissement local et commune. Enregistrez-le sous cibles.mjs et lancez-le avec Node.js 18 ou plus récent, qui fournit fetch sans dépendance.
// Usage : node cibles.mjs <departement> <code NAF>
// Exemple : node cibles.mjs 69 62.01Z
import { writeFile } from "node:fs/promises";
const [dep = "69", naf = "62.01Z"] = process.argv.slice(2);
const API = "https://recherche-entreprises.api.gouv.fr/search";
const pause = (ms) => new Promise((r) => setTimeout(r, ms));
async function chercher(options) {
const params = new URLSearchParams({
activite_principale: naf,
departement: dep,
etat_administratif: "A",
...options,
});
const reponse = await fetch(`${API}?${params}`);
if (reponse.status === 429) {
// Limite de débit dépassée : on attend le délai demandé, puis on réessaie
await pause(Number(reponse.headers.get("retry-after") ?? 2) * 1000);
return chercher(options);
}
if (!reponse.ok) throw new Error(`HTTP ${reponse.status}`);
await pause(300); // l'API limite le débit : on reste sous 4 appels par seconde
return reponse.json();
}
const groupes = [
["sans salarié au 31 décembre", "NN,00"],
["1 à 9 salariés", "01,02,03"],
["10 à 49 salariés", "11,12"],
["50 salariés et plus", "21,22,31,32,41,42,51,52,53"],
];
const total = (await chercher({ per_page: "1" })).total_results;
console.log(`${naf} dans le ${dep} : ${total} entreprises actives`);
for (const [libelle, tranches] of groupes) {
const n = (
await chercher({ per_page: "1", tranche_effectif_salarie: tranches })
).total_results;
console.log(` ${libelle.padEnd(30)} ${String(n).padStart(5)}`);
}
// Deuxième passe : les 10 à 49 salariés, une par une
const cibles = [];
for (let page = 1; ; page++) {
const d = await chercher({
tranche_effectif_salarie: "11,12",
per_page: "25",
page: String(page),
});
cibles.push(...d.results);
if (page >= d.total_pages) break;
}
// Un établissement fermé reste dans la réponse : on ne garde que les ouverts
const ouverts = (e) =>
e.matching_etablissements.filter((m) => m.etat_administratif === "A");
const ouvertIci = cibles.filter((e) => ouverts(e).length > 0);
const activiteIci = ouvertIci.filter((e) =>
ouverts(e).some((m) => m.activite_principale === naf),
);
const siegeIci = cibles.filter((e) => e.siege.departement === dep);
const annees = new Set(cibles.map((e) => e.annee_tranche_effectif_salarie));
console.log("");
console.log(`10 à 49 salariés : ${cibles.length} fiches relues`);
const ligne = (libelle, n) =>
console.log(` ${libelle.padEnd(31)} ${String(n).padStart(5)}`);
ligne(`établissement ouvert dans le ${dep}`, ouvertIci.length);
ligne(`dont un déclaré en ${naf}`, activiteIci.length);
ligne(`siège dans le ${dep}`, siegeIci.length);
console.log(` effectifs de l'année ${[...annees].join(", ")}`);
// Troisième passe : la liste à qualifier, un établissement local par entreprise
const lignes = activiteIci.map((e) => {
const local = ouverts(e).find((m) => m.activite_principale === naf);
return [e.siren, e.nom_complet, local.siret, local.libelle_commune]
.map((v) => `"${String(v ?? "").replaceAll('"', '""')}"`)
.join(";");
});
const fichier = `cibles-${dep}-${naf}.csv`;
const csv = ["siren;nom;siret;commune", ...lignes].join("\n") + "\n";
await writeFile(fichier, csv);
console.log(` liste écrite dans ${fichier} (${lignes.length} entreprises)`);Lancé pour le Rhône avec node cibles.mjs 69 62.01Z, il a rendu ceci en une dizaine de secondes (de 7 à 15 selon les essais) :
62.01Z dans le 69 : 5395 entreprises actives
sans salarié au 31 décembre 4611
1 à 9 salariés 514
10 à 49 salariés 188
50 salariés et plus 59
10 à 49 salariés : 188 fiches relues
établissement ouvert dans le 69 154
dont un déclaré en 62.01Z 136
siège dans le 69 107
effectifs de l'année 2023
liste écrite dans cibles-69-62.01Z.csv (136 entreprises)Le premier chiffre impressionne, mais il sert peu. Sur 5 395 entreprises « de programmation » dans le Rhône, 4 611 sont classées dans les codes NN ou 00 de l'INSEE : elles n'avaient aucun salarié au 31 décembre de l'année de référence. Une structure sans salarié peut en théorie prendre un apprenti, mais il faut que son dirigeant puisse être maître d'apprentissage, ce qui suppose, selon service-public, un diplôme du même domaine et un an de pratique professionnelle, ou deux ans de pratique sans diplôme. Et surtout qu'il ait le travail et le temps pour vous former.
J'ai choisi de viser la tranche de 10 à 49 salariés, et c'est un choix, pas une règle. À mon avis, une équipe de cette taille a de bonnes chances de compter un développeur expérimenté qui peut vous encadrer, et votre message y arrive encore à quelqu'un qui décide. Au-dessus, je privilégierais les offres publiées et les pages carrières plutôt que le message spontané. Les 59 entreprises de 50 salariés et plus méritent donc une visite de leur page carrières avant tout mail.
Les deux pièges du filtre par département
Les trois compteurs sur les établissements et le siège sont ceux qui m'ont le plus appris. La documentation de l'API le dit en toutes lettres : le filtre departement « filtre sur les établissements », alors que le filtre activite_principale « ne s'applique qu'à l'unité légale, et non à ses établissements ». Autrement dit, une entreprise de programmation dont le siège est en Ille-et-Vilaine remonte dans le Rhône dès qu'elle y possède un établissement, quelle que soit l'activité de cet établissement, et même s'il est fermé.
Le premier piège est donc celui des établissements fermés. La réponse de l'API contient la liste des établissements qui ont déclenché le filtre, avec leur état, et elle inclut ceux qui ont cessé leur activité. Cette liste est limitée à dix établissements par défaut, ce qui suffit ici : aucune des fiches relues dans le Rhône n'en compte plus de six. Sur les 188 fiches, 34 ne remontent dans le Rhône que par un établissement fermé : vous leur écririez pour un poste dans une ville où elles ne sont plus. Le script ne garde que les établissements ouverts, d'où les 154 de la deuxième ligne.
Le second piège est celui de l'activité locale. Parmi ces 154 entreprises, 18 n'ont dans le Rhône que des établissements ouverts déclarés sous un autre code d'activité que le 62.01Z. Il reste 136 cibles qui ont, près de chez vous, un établissement ouvert déclaré en programmation informatique. Ce sont elles que le script écrit dans cibles-69-62.01Z.csv : c'est votre liste de départ. Attention, un code d'activité est une déclaration administrative, pas la preuve d'une activité réelle : chaque ligne reste à qualifier à la main.
Deux réserves sur ces données, pour ne pas leur faire dire plus qu'elles ne disent. Les tranches d'effectif datent de 2023, comme l'indique la ligne consacrée à l'année des effectifs : une entreprise a pu grandir ou fondre depuis. Et la nomenclature change : d'après l'INSEE, la NAF 2025 deviendra la référence au 1er janvier 2027.
Dans cette nouvelle nomenclature, la programmation informatique porte le code 62.10Y, « Activités de programmation informatique ». L'INSEE annonce la recodification des entreprises début janvier 2027, à une date encore à préciser, et rien ne dit à quel moment l'API suivra : si, en 2027, la commande avec 62.01Z ne renvoie plus rien, essayez 62.10Y avant de conclure qu'il n'y a personne.
Dernier détail, pour les lecteurs qui aiment additionner : les quatre tranches font 5 372, et non 5 395. Les comptes filtrés de l'API ne retombent pas exactement sur le total, et un parcours complet des 5 391 fiches renvoyées page par page, fait pendant la préparation de cet article, n'a trouvé aucune fiche sans tranche. L'écart, de 0,4 %, se concentre dans le groupe sans salarié ; je n'en ai pas d'explication documentée, et il ne change rien à la méthode.
Quand votre département ne donne rien
Le Rhône est un cas confortable. J'ai relancé le même script sur la Creuse, et le résultat est sans appel : 56 entreprises actives en 62.01Z, dont 52 sans salarié, 4 de 1 à 9 salariés, et aucune de 10 à 49. Sur le code voisin 62.02A, « Conseil en systèmes et logiciels informatiques », une seule entreprise de cette taille remonte, et le script montre qu'elle ne le doit qu'à un établissement fermé. Sur le 58.29C, « Édition de logiciels applicatifs », une entreprise remonte, avec son siège et un établissement ouvert dans le département.
Dans ce cas, trois leviers, dans cet ordre. Le premier est d'élargir aux départements voisins joignables au quotidien : la Haute-Vienne, avec la même commande, donne 11 entreprises de 10 à 49 salariés, dont 8 avec un établissement ouvert déclaré en programmation. Le deuxième est de descendre dans la tranche de 1 à 9 salariés, en vérifiant, avant d'écrire, si le dirigeant peut être maître d'apprentissage et s'il a déjà accompagné un apprenti : sinon, prévoyez de lui expliquer le dispositif.
Le troisième levier est de sortir des codes informatiques. Des développeurs travaillent aussi dans des entreprises dont l'activité principale est autre chose, par exemple un industriel avec son service informatique, une agence de communication qui fait des sites, un éditeur de presse. Ces entreprises n'apparaissent pas avec le 62.01Z. La bonne alternance, le service public dédié, les couvre autrement : un « algorithme prédictif de France Travail analyse les recrutements des 6 années passées pour prédire ceux des 6 mois à venir » et propose une liste d'entreprises « à fort potentiel d'embauche en alternance », pour des candidatures spontanées.
Ce que vous coûtez, chiffré au centime
Une entreprise qui ne vous connaît pas se posera tôt ou tard la question du coût. Je conseille d'y répondre dans le message plutôt que de la laisser deviner. Le salaire minimum d'un apprenti est un pourcentage du SMIC qui dépend de son âge et de l'année du contrat, et le SMIC a été revalorisé deux fois en 2026 : il vaut 1 867,02 euros brut par mois depuis le 1er juin. Côté employeur, l'aide à l'embauche d'un apprenti vaut 4 500 euros pour une entreprise de moins de 250 salariés si vous préparez un diplôme de niveau 5, pour un contrat conclu à partir du 8 mars 2026 et commencé avant le 1er janvier 2027.
Le niveau 5 est celui du titre professionnel Développeur web et web mobile et du BTS SIO, deux voies que je compare dans le guide DWWM ou BTS SIO. Voici le calcul pour la première année, en salaire brut minimal, avec les pourcentages de l'article D6222-26 :
// Salaire brut minimal d'un apprenti en 1re année, et aide de l'État
// SMIC mensuel brut au 1er juin 2026 (35 h) : 1 867,02 €
const SMIC = 1867.02;
const grille = [
["18 à 20 ans", 0.43],
["21 à 25 ans", 0.53],
["26 ans et plus", 1.0],
];
// Aide exceptionnelle, entreprise de moins de 250 salariés, diplôme de niveau 5
const AIDE = 4500;
const euros = (n) => n.toFixed(2).replace(".", ",").padStart(9) + " €";
for (const [age, taux] of grille) {
const mois = Math.round(SMIC * taux * 100) / 100;
const an = mois * 12;
console.log(
`${age.padEnd(15)}${euros(mois)} par mois${euros(an)} sur un an${euros(an - AIDE)} après aide`,
);
}18 à 20 ans 802,82 € par mois 9633,84 € sur un an 5133,84 € après aide
21 à 25 ans 989,52 € par mois 11874,24 € sur un an 7374,24 € après aide
26 ans et plus 1867,02 € par mois 22404,24 € sur un an 17904,24 € après aideLes montants mensuels concordent au centime avec ceux que publie service-public pour 43 % et 53 % du SMIC. Ce sont des salaires bruts, avant cotisations patronales, et le minimum conventionnel de l'entreprise peut être plus élevé à partir de 21 ans : c'est un plancher, pas un devis. Ces calculs valent pour le cas général : pour un apprenti reconnu travailleur handicapé, l'aide peut atteindre 6 000 euros, quel que soit le niveau du diplôme et la taille de l'entreprise. Dans le cas général, pour un apprenti de 18 à 20 ans, l'aide couvre près de la moitié du salaire brut de la première année ; de 21 à 25 ans, un peu plus d'un tiers.
La dernière ligne concerne les candidats de 26 ans et plus. À partir de 26 ans, l'apprenti est payé au SMIC dès la première année, et l'aide de 4 500 euros ne couvre plus qu'un cinquième du salaire (un peu plus d'un quart avec l'aide de 6 000 euros). Pour l'entreprise, c'est un salaire minimum complet pour une présence partagée avec la formation. Ce n'est pas rédhibitoire, mais votre message doit compenser par ce que vous savez déjà faire, et c'est l'une des raisons pour lesquelles une reconversion après 40 ans se prépare en amont de la recherche.
Si vous visez un niveau 6, comme le titre Concepteur développeur d'applications, l'aide tombe à 2 000 euros pour une entreprise de moins de 250 salariés, hors reconnaissance de la qualité de travailleur handicapé, et l'employeur verse depuis le 1er juillet 2025 une participation forfaitaire de 750 euros au coût de la formation, prévue par l'article R6332-25-1. Pour vous, la formation reste gratuite : l'article L6211-1 le dit sans détour.
Le message, et ce qu'il doit contenir
Avec une liste et un argument chiffré, le reste est un travail de fond. Pour chaque ligne du fichier, ouvrez la fiche de l'entreprise sur l'annuaire des entreprises à partir de son numéro SIREN, repérez l'adresse de l'établissement ouvert près de chez vous, puis cherchez son site et ses projets. Si vous ne trouvez rien sur ce qu'elle développe, passez à la suivante : je vous conseille de n'écrire qu'aux entreprises pour lesquelles vous pouvez dire pourquoi vous vous adressez à elles plutôt qu'à une autre. Traitez un premier lot de dix lignes en notant le temps passé : c'est ce chiffre, pas une promesse, qui fixera votre rythme.
Le message tient ensuite en cinq éléments, dans cet ordre, et je donne ici mon avis de rédacteur plutôt qu'une statistique : je ne dispose d'aucun taux de réponse documenté qui s'applique à cette méthode. Une phrase qui montre que vous savez ce que l'entreprise fait. Le lien vers un projet que vous avez construit, et un seul, celui dont vous pouvez parler une heure ; si vous n'en avez pas, le guide pour créer un portfolio de développeur vous propose une méthode pour en construire un. La formation visée, avec son rythme et sa date de rentrée. Le coût et l'aide, en deux chiffres. Une demande précise : quinze minutes d'échange.
Objet : Alternance développeur web, rentrée d'octobre 2026
Bonjour,
J'ai vu que votre équipe développe [le projet ou le produit repéré].
Je prépare le titre Développeur web et web mobile en alternance
(rythme : [rythme du centre], rentrée le [date]).
Le projet dont je suis le plus fier : [un seul lien].
Le salaire brut minimal de la première année est de [montant selon
mon âge] par mois, et l'État verse à l'employeur une aide de
[4 500 euros dans le cas général, jusqu'à 6 000 euros avec une
reconnaissance de travailleur handicapé] pour un contrat commencé
avant le 1er janvier 2027.
Auriez-vous quinze minutes pour en parler cette semaine ou la suivante ?
[Prénom Nom], [téléphone]Avant d'envoyer le moindre lien, relisez-le comme le ferait un inconnu pressé, sur un téléphone. Certains défauts sont bêtes, et j'en ai mesuré sept un par un dans les sept erreurs de portfolio de développeur junior : un lien de projet en 404 ou une page illisible sur mobile peuvent ruiner l'effet de tout le reste du message.
Trente messages plus tard
Une liste ne garantit pas une réponse. Je n'ai pas mesuré de taux de réponse, et je me méfierais de quiconque vous en promet un. Ce que la méthode assure, c'est que chaque message part vers une entreprise en activité, qui a près de chez vous un établissement administrativement ouvert et déclaré en programmation informatique, et dont vous avez vérifié vous-même les projets avant d'écrire.
Elle ne remplace pas non plus la question du financement si l'alternance ne vient pas. Si, au bout des trois mois en centre de formation, vous n'avez pas trouvé d'employeur, il faut un plan de repli : financer sa formation avec le CPF en est un, avec ses limites. Le mieux est de décider de ce plan avant la rentrée, pas le jour où le délai expire.
Enfin, commencer sans réseau ne veut pas dire rester sans réseau. Aucun nombre de messages ne garantit une réponse, mais chaque échange obtenu, même sans contrat à la clé, vous fait connaître quelqu'un du métier. Si trente messages ciblés vous en valent quelques-uns, vous aurez commencé à construire ce réseau qu'on vous conseillait d'avoir dès le départ.