# Opérations de maintenance et scheduler ## Opérations manuelles ### Vidage du cache Il peut être nécessaire de vider complètement le cache Typo3. On pourra: * soit passer par le backend, onglet Maintenance, bouton 'Flush cache' * soit lancer en ligne de commande (nécessite l'extension [helhum/typo3-console](https://packagist.org/packages/helhum/typo3-console)) : `php7.4 vendor/bin/typo3cms cache:flush` ### Mise à jour du core Typo3 ou des extensions tierces La mise à jour du core Typo3 ou des extensions tierces dépend de la nature de la mise à jour. Toute mise à jour nécessite un premier déploiement en environnement de test / preprod et la réalisation de [tests](tests.md) avant tout déploiement en production. De même, on répètera ces tests sur l'environnement de production après y avoir effectué les mises à jour. #### Mise à jour de sécurité Les mises à jour de sécurité, qui concernent le troisième chiffre de version (1.0.X) se font simplement par la commande `composer upload`, car le fichier composer.json de l'installation ne devrait en principe fixer que les deux premiers chiffres de la version (`^X.X`). composer update #### Mise à jour mineure Une mise à jour mineure nécessite la mise à jour du fichier composer.json. On pourra lister les extensions bénéficiant de telles mises à jour grâce à la commande: composer outdated On traite ensuite au cas par cas en augmentant la version dans le composer.json, puis on lance la commande: composer update #### Mise à jour majeure d'une extension Avant toute mise à jour majeure, il faut vérifier la compatibilité de l'extension avec la version courante de Typo3. Pour ce faire, on pourra par exemple visiter la page de l'extension sur [packagist](https://packagist.org/) Ensuite, procéder comme pour une mise à jour mineure. #### Mise à jour majeure de Typo3 Si on met à jour le noyau typo3, on pourra utiliser **l'outil de vérification** des extensions, accessible via le backend, onglet Upgrade > Scan Extension Files Vérifier que les extensions tierces supportent cette nouvelle version de Typo3 en visitant par exemple les pages de ces extensions sur [packagist](https://packagist.org/) Vérifier que les extensions Opentalent sont compatibles. Si besoin, créer une nouvelle feature dans le gitflow (donc une branche dédiée) et apportez les modifications nécessaires. Dans le fichier composer.json, mettre à jour tous les paquets en `typo3/*` avec la version visée. Il est possible que des extensions aient été ajoutées ou aient disparu entre les deux versions majeures, le mieux est donc de comparer cette liste à ce qui est proposé ici: Lancer la commande: composer update Accéder ensuite à l'interface d'installation: `https:///typo3/install.php` Lancer les commandes suivantes: * Maintenance: Flush cache * Upgrade: check for broken extension * Scan extension files Si tout va bien jusqu'ici, lancer ensuite: * Maintenance: Analyse DB ; créer les tables et champs requis si besoin * Maintenance: manage language packs ; tout mettre à jour * Maintenance: reset backend user préférences A partir de là, il devrait être possible d'accéder au Backend sans erreur. ## Opérations automatisées Aucune opération automatisée n'est actuellement implémentée. On pourra envisager d'en créer via le système de Scheduler de Typo3, ou via un simple système de crons. Parmi les opérations qui pourraient être automatisées: * nettoyage des logs et autres données persistantes * `./vendor/bin/typo3 referenceindex:update` * scanner les sites pour détecter les erreurs et liens morts D'autres opérations automatisables sont proposées par le scheduler Typo3.