Connectez votre propre compte GitHub à un site et nous synchroniserons les deux dans les deux sens. C’est gratuit, c’est désactivé jusqu’à ce que vous l’activiez, et nous ne faisons de commit que dans un dépôt situé sur un compte qui vous appartient — jamais sur l’un des nôtres.
Ce qui est synchronisé
Tout ce que vous modifiez dans les fichiers de votre site devient un commit dans votre dépôt, quelle que soit la méthode utilisée : le gestionnaire de fichiers, SFTP, l’éditeur de thèmes WordPress ou une session SSH. Vous n’avez pas besoin de nous le signaler — nous comparons votre site à son dernier commit et poussons la différence.
Dans l’autre sens, un push sur votre branche connectée arrive directement sur le site.
Ce que nous ne committons jamais
Votre fichier wp-config.php est exclu, délibérément et définitivement. Il contient le mot de passe de votre base de données ainsi que vos clés de sécurité et de salage, et ceux-ci n’ont pas leur place dans un dépôt — pas même privé, car git conserve l’historique pour toujours.
Sont également exclus : les fichiers .env, les clés et certificats, votre dossier de téléversements, les caches et node_modules. Un dépôt est la source de votre site, pas une sauvegarde. Les fichiers médias appartiennent à vos sauvegardes, où ils sont déjà conservés, et les placer ici ralentirait chaque push et rendrait chaque modification illisible.
Que se passe-t-il si des modifications ont lieu des deux côtés
C’est la question essentielle. Supposons que vous modifiez un fichier dans le gestionnaire de fichiers, et qu’entre-temps un collègue pousse une modification sur le même dépôt.
Nous nous arrêtons. Nous ne fusionnons pas, et nous n’écrasons le travail de personne. L’onglet Déployer du site indique « Votre dépôt comporte des modifications que nous n’avons pas vues », mentionne le commit que vous devez examiner, et vous attend. Rien n’est perdu d’aucun côté pendant cette attente — votre modification est toujours sur le site, son commit est toujours dans le dépôt.
Vous choisissez alors :
- Conserver les fichiers de ce site — nous plaçons votre version au-dessus de la sienne. Ses commits restent dans l’historique ; rien n’est effacé.
- Utiliser le dépôt, annuler les modifications du site — la version du dépôt est appliquée au site, et les modifications que vous aviez apportées ici sont abandonnées. Cette action est destructive, c’est pourquoi elle nécessite un clic délibéré et n’est jamais effectuée en votre nom.
Il n’y a pas d’option de « fusion automatique », et c’est intentionnel. Une fusion réalisée par nos soins produirait un fichier qu’aucun de vous deux n’a écrit, sur un site en production, sans que l’un ou l’autre ne l’ait examiné au préalable.
Pourquoi la synchronisation peut s’interrompre
- Vous n’avez pas connecté votre propre compte GitHub. L’option reste désactivée tant que vous ne l’avez pas fait.
- Elle est en attente d’une action de votre part. Voir ci-dessus — un blocage ne se résout pas de lui-même.
- Votre compte n’est pas en règle. La synchronisation se met en pause et reprend d’elle-même dès que la facturation est à jour. Rien n’est perdu.
L’onglet Déployer affiche les dernières synchronisations, y compris celles où aucun changement n’a eu lieu. Si cette liste est vide et que la synchronisation est activée, le compte connecté ne dispose très probablement pas des droits d’écriture sur le dépôt — vérifiez ses accès et reconnectez-le.
Choisir ce qui est synchronisé
Par défaut, l’ensemble du site est synchronisé. Sur un site WordPress, ce n’est généralement pas ce que vous souhaitez : cela inclut chaque fichier du cœur de WordPress, que vous n’avez pas écrit et ne modifierez pas. Définissez « Synchroniser uniquement ce dossier » sur votre thème — par exemple wp-content/themes/my-theme — et le reste sera laissé intact.