# -*- coding: utf-8 -*- """Supprimer les explications et ajouter comportements/transitions.""" path = "livre_enfant.md" APO = "\u2019" with open(path, "r", encoding="utf-8") as f: c = f.read() replacements = [ # L.17 (f"Barnabé remua contre son poignet, posant une ventouse, puis une autre. Éon sourit, sachant que le petit poulpe aimait les chemins clairs.", "Barnabé remua contre son poignet, posant une ventouse, puis une autre. Ses ventouses se posèrent plus vite sur la ligne du muret que sur l'herbe alentour. Éon sourit."), # L.23 (f"Éon les observa attentivement : les marques demeuraient en place, indiquant un passage. Il posa sa main à côté et appuya fort ; en la retirant, il vit l{APO}empreinte de sa paume dans la poussière qui persistait elle aussi. Il se dit alors que ces signes pouvaient servir, pas seulement pour se souvenir, mais pour guider le pas suivant. Avec la pointe d{APO}un caillou", "Éon les observa attentivement : les marques demeuraient en place. Il posa sa main à côté et appuya fort ; en la retirant, il vit l'empreinte de sa paume dans la poussière qui persistait elle aussi. Il suivit des yeux la ligne des ventouses, puis posa son pied sur la première marque. Le sol tint. Avec la pointe d'un caillou"), # L.25 (f"Barnabé posa une ventouse sur la première, puis tapota son poignet une fois. Éon rangea le caillou. Ce signe, il pourrait le retrouver plus tard, ou en refaire un pareil là où une règle tiendrait.", "Barnabé posa une ventouse sur la première, puis tapota son poignet une fois. Éon rangea le caillou et effleura les quatre marques du doigt avant de repartir."), # L.36 (f"Il jeta un regard en arrière vers les deux autres sillons, toujours là, ouverts, comme deux questions laissées sur le sol. Mais il sentit aussi que", "Il jeta un regard en arrière vers les deux autres sillons, toujours là, ouverts. Son pas glissa légèrement quand il tenta de revenir en arrière ; le sillon le ramena à sa trajectoire. Mais il sentit aussi que"), # L.37 (f"Les sphères continuaient leur parcours autour de lui, silencieuses. À chaque intersection, le même court instant de suspension, puis un choix inscrit dans le mouvement. Éon sentit que le bois changeait encore. Les lignes de verre dessinaient désormais une sorte de réseau sous ses pieds et il avançait au cœur d{APO}un système déjà tracé. Il s{APO}arrêta pourtant", "Les sphères continuaient leur parcours autour de lui, silencieuses. À chaque intersection, le même court instant de suspension, puis un choix inscrit dans le mouvement. Les sillons se multipliaient sous ses pieds, se croisant, se rejoignant. Il avançait plus vite sans réfléchir à chaque pas. Il s'arrêta pourtant"), # L.39 (f"En franchissant le nouveau sillon, Éon cligna de l{APO}œil droit. Il n{APO}avait pas de raison. C{APO}était devenu son habitude à lui, chaque fois qu{APO}il passait une ligne de verre. C{APO}était sa taxe personnelle sur la réalité. Le monde imposait des lignes de verre ; Éon imposait un clignement d{APO}œil. L{APO}échange lui semblait équitable. Barnabé posa une ventouse sur sa paume", "En franchissant le nouveau sillon, Éon cligna de l'œil droit. Barnabé posa une ventouse sur sa paume"), # L.55 (f"Barnabé s{APO}arrêta au bord d{APO}une empreinte et posa plusieurs ventouses côte à côte. Il insista légèrement, puis se déplaça plus loin, laissant les petites marques visibles au bord du grand creux. Éon se dit qu{APO}il pouvait, lui aussi, organiser le sol. Il choisit un point dégagé", "Barnabé s'arrêta au bord d'une empreinte et posa plusieurs ventouses côte à côte. Il insista légèrement, puis se déplaça plus loin, laissant les petites marques visibles au bord du grand creux. Éon s'accroupit à son tour. Il choisit un point dégagé"), # L.59 (f"Peu à peu, il remarqua que le sol retenait ce qu{APO}on lui imposait. Les passages s{APO}accumulaient et la cuvette n{APO}était plus un espace uniforme ; elle portait l{APO}histoire des déplacements. En revenant sur ses premiers pas", "Peu à peu, les passages s'accumulaient. La cuvette n'était plus un espace uniforme ; des creux, des aplatis, des traces de ventouses et de semelles la parcouraient. En revenant sur ses premiers pas"), # L.65 (f"En quittant la cuvette, Éon sentit le sol se raffermir sous ses pieds. La stabilité, ici, ne viendrait pas de l{APO}immobilité : il allait devoir trouver un rythme. La pente s{APO}élevait devant lui", "En quittant la cuvette, Éon sentit le sol se raffermir sous ses pieds. La pente s'élevait devant lui"), # L.69 (f"Barnabé resserra ses ventouses.\n\nÉon se dit qu{APO}il allait devoir ajuster sa posture. Il relâcha légèrement ses épaules", "Barnabé resserra ses ventouses.\n\nÉon relâcha légèrement ses épaules"), # L.69 (f"La surface vibrait sous l{APO}effet du souffle d{APO}air, mais le nœud principal restait ferme. Ces points d'attache, il les retrouverait plus tard sous une autre forme, quand les fils remplaceraient les lianes.", "La surface vibrait sous l'effet du souffle d'air, mais le nœud principal restait ferme."), # L.71 (f"Barnabé relâcha sa prise et reprit une teinte régulière. Éon observa encore les lianes en activité : leur structure tenait parce qu{APO}elle revenait toujours à une forme cohérente après chaque oscillation. Il reprit sa marche", "Barnabé relâcha sa prise et reprit une teinte régulière. Les lianes plièrent sous une nouvelle rafale, puis reprirent leur place. Il reprit sa marche"), ] def apply(old, new): global c if old in c: c = c.replace(old, new, 1) return True o2 = old.replace(APO, "'") if o2 in c: c = c.replace(o2, new, 1) return True # Normalize file apostrophes for search c_norm = c.replace(APO, "'") old_ascii = old.replace(APO, "'") if old_ascii in c_norm: idx = c_norm.find(old_ascii) c = c[:idx] + new + c[idx + len(old_ascii):] return True return False for old, new in replacements: if apply(old, new): print("OK") else: print("Skip:", old[:55] + "...") # L.37/L.45 - explication "réseau/système" (apostrophe peut varier) old37 = "Éon sentit que le bois changeait encore. Les lignes de verre dessinaient désormais une sorte de réseau sous ses pieds et il avançait au cœur d'un système déjà tracé. " new37 = "Les sillons se multipliaient sous ses pieds, se croisant, se rejoignant. Il avançait plus vite sans réfléchir à chaque pas. " if old37.replace("'", APO) in c or old37 in c: c = c.replace(old37.replace("'", APO), new37, 1) if old37.replace("'", APO) in c else c.replace(old37, new37, 1) print("OK L37") elif "Éon sentit que le bois changeait encore" in c and "réseau sous ses pieds" in c: import re c = re.sub( r"Éon sentit que le bois changeait encore\. Les lignes de verre dessinaient désormais une sorte de réseau sous ses pieds et il avançait au cœur d['\u2019]un système déjà tracé\. ", new37, c, count=1 ) print("OK L37 (re)") with open(path, "w", encoding="utf-8") as f: f.write(c) print("Phase 1 done")