iKidz English
Une école d'anglais pour enfants de Torrejón de Ardoz (Madrid) avait son site, son blog et son application éducative éparpillés à trois endroits, sur un hébergement sur le point de se renouveler tout seul et avec des éléments cassés depuis des années. J'ai tout réuni sous son domaine, sur son propre serveur, avec un panneau pour tout piloter sans dépendre de personne. Site et blog en production, en HTTPS, moins de 48 heures après la commande.
Le défi : trois briques, trois endroits et un compte à rebours lancé
iKidz English est une école d'anglais de Torrejón de Ardoz qui propose des programmes pour enfants, adolescents et adultes, avec un modèle de franchise et dix ans de contenus pédagogiques maison. Sa présence en ligne s'était construite par couches, chacune de son côté :
- Le site vitrineIl tournait sur un vieil hébergement qui allait se renouveler tout seul d'ici quelques jours. En y accédant en « https », on tombait sur un avertissement de sécurité et sur le site d'une autre entreprise, les formulaires de contact et de franchise n'envoyaient rien et le bouton du menu menant à l'appli renvoyait vers une page morte.
- Le blog « Vamos Creciendo »Dix ans d'articles sur un autre domaine et chez un autre hébergeur, avec des liens disséminés sur internet depuis des années. Le prestataire ne permettait même pas d'exporter la base de données.
- iKidz Space, l'appli des élèvesSon serveur répondait « cette application n'existe pas », l'appli Android avait disparu de Google Play et du programme d'origine il ne restait que le code, sans la moindre donnée.
- La messagerieLes boîtes mail de l'école se trouvaient sur ce même hébergement qui arrivait à échéance.
Et une condition claire dès le premier e-mail : le design reste. L'équipe était contente de son site, le travail consistait donc à tout changer en coulisses sans que rien ne se voie de l'extérieur.
Ce que j'ai construit
1. Son propre serveur et le même site, neuf à l'intérieur
- Un serveur cloud au nom de l'écolenginx, PHP 8.3 et MariaDB, avec pare-feu, fail2ban et HTTPS Let's Encrypt renouvelé automatiquement. L'hébergement est payé et contrôlé par le client : il ne dépend pas de moi.
- Les six pages refaites en PHP, avec les mêmes URLEn-tête, menu et pied de page communs, comparés capture par capture avec les originaux : même apparence et mêmes adresses, pour ne pas perdre une seule position dans Google.
- Page d'accueil de 4 001 Ko à 1 902 Ko et zéro requête vers des tiersLes polices et le bandeau cookies sont servis depuis le serveur lui-même, sans Google Fonts ni CDN externes. Sur un site pour enfants, doté de sa propre politique de confidentialité, cela compte.
- Formulaires réécrits de zéroLes messages arrivent par e-mail et sont aussi enregistrés dans le panneau et dans un fichier à part, au cas où un e-mail se perdrait ou finirait en spam.
- Accessibilité et mesure d'audience28 photos avec un texte alternatif rédigé en regardant chacune d'elles, et Google Analytics 4 connecté : l'ancien outil de mesure n'enregistrait plus rien depuis 2023.
2. Le blog : dix ans de contenu sans perdre un seul lien
- Export complet via l'API REST de WordPressL'hébergeur ne permettait pas d'exporter, alors tout a été extrait par l'API : 166 articles, 3 pages, 706 catégories et étiquettes, 737 commentaires et 2 414 fichiers (812 Mo), comptés et vérifiés un par un.
- Importateur maison en blocs modifiablesChaque article est converti en blocs que l'équipe peut modifier. Vérifié : réenregistrer n'importe lequel redonne exactement le même HTML, 166 sur 166.
- 875 redirections 301, en un seul sautChaque ancien lien mène directement à son article sur le nouveau domaine, et c'est ce qui préserve le référencement. Les anciennes images et le flux RSS répondent toujours à leurs adresses habituelles.
- Une liste d'articles qui a enfin de l'allureUne photo sur 164 des 166 articles (presque aucun n'avait d'image à la une : on utilise la première photo du texte), des boutons de partage qui ne chargent aucun traceur et des vidéos YouTube en mode sans cookies.
3. iKidz Space : l'appli des élèves, ressuscitée dans le navigateur
- Refaite en PHP, dans le même panneauElle partage la base de données avec le site, vit sur son propre sous-domaine et se gère depuis le même backoffice que le blog.
- Les 23 activités d'origine, sans rien recompilerCe sont des jeux HTML5 de 2017 conçus pour une appli Android. Une passerelle en JavaScript leur fournit ce que leur apportait l'appli native, et ils fonctionnent dans n'importe quel navigateur. Les 23 ont été testées dans un vrai Chrome : zéro erreur.
- Accès sécurisé par sessionChaque enfant ne voit et n'enregistre que ce qui le concerne. Des sessions de trois heures pour ne pas perdre la progression en plein cours, et un frein anti-tentatives qui ne bloque pas une classe entière accédant à internet par la même connexion.
- Élèves, invitations et progressionInscription des élèves avec invitation par e-mail à la famille (deux adresses possibles), suivi activité par activité et contrôle des activités visibles et de leur ordre.
- Aucune mesure d'audience dans l'espace enfantsPar choix de conception : leur navigation ne sort pas du serveur de l'école.
4. Children's Day Map, sauvée (et remise à l'heure)
- Une appli orpheline, de retour au bercailL'appli publique de 2014 vers laquelle pointait le blog s'était retrouvée sans abri : son domaine d'origine redirigeait vers un réseau publicitaire et elle n'était plus ni sur l'App Store ni sur Google Play. Elle est désormais servie depuis le domaine de l'école, sans dépendre de personne.
- Périmée depuis 2024, et réparéeElle n'acceptait que les années 2014 à 2023 : depuis le 1er janvier 2024, impossible de dépasser le premier écran. J'ai patché le code de 2014 pour faire passer le calendrier à 2021-2030, avec de nouvelles illustrations et l'audio des années généré par IA à partir de la voix d'origine.
5. La messagerie, transférée sans perdre un seul message
- 4 boîtes mail et 8 438 e-mailsRéception, envoyés, brouillons et dossiers, avec leurs dates, plus 80 contacts, transférés vers un nouvel hébergement de messagerie.
- Une bascule sans coupureLe passage d'un serveur de messagerie à l'autre a été planifié pour que rien ne se perde pendant la transition, et la configuration antispam du domaine, qui contenait une erreur qui l'annulait, a été corrigée.
6. Un panneau pour que l'école gère tout elle-même
- Backoffice sur mesurePage d'accueil modifiable par sections, pages, éditeur de blog par blocs, médiathèque qui allège automatiquement les photos prises au téléphone et en retire la géolocalisation, messages des formulaires, élèves, activités, utilisateurs et réglages.
- Sécurité intégréeMots de passe en Argon2id, protection CSRF sur tous les formulaires et nettoyage du HTML publié.
- Filet de sécuritéSi la base de données ne répond pas, les pages continuent d'être servies. Sauvegardes quotidiennes à plusieurs endroits, testées en les restaurant pour de vrai.
- Manuel de prise en main en PDFPour que l'équipe modifie textes, photos, articles et accès sans appeler personne.
Le résultat
Site, blog et appli vivent désormais sous un même domaine, sur un serveur appartenant à l'école et pilotés depuis un panneau unique, avec le design de toujours. Rien ne s'est perdu en route : ni un article, ni une photo, ni un e-mail, ni un lien, et tout a été compté un par un pour le vérifier.
L'hébergement est passé d'environ 650 dollars par an à moins de 100 € (quelque 500 € d'économies par an) sur une machine nettement plus puissante. Au passage, une dizaine de défauts hérités que personne n'avait repérés ont été corrigés, des formulaires qui n'envoyaient rien jusqu'à une promotion de 2016 qui s'affichait encore sur mobile.
Quelques captures
Le site et le blog, sur tous les appareils
iKidz Space, Day Map et le panneau
Stack
Site du client : ikidzenglish.com — école d'anglais à Torrejón de Ardoz.
Votre site, votre blog ou votre application sont éparpillés et hors de votre contrôle ? Découvrez mon service de développement web sur mesure.
Autres projets
Tu Póliza de Salud
Sauvetage web d'un courtier en assurances, +1 600 articles et backoffice maison.
Cristina Tol-2
D'un site non responsive à un WordPress bilingue bien référencé.
Mi Cuadro Médico
Annuaire national des réseaux de soins avec des milliers de pages programmatiques.
Besoin de remettre de l'ordre dans votre site et de le sauver ?
Migrations sans perte, PHP sur mesure et panneaux que votre équipe peut utiliser en toute autonomie. Appel de 30 minutes sans engagement.
Demander un devis gratuit

