Startup : Startup fictive pour l'audit Outils mutualisés de l'incubateurSélectionnez les outils de l'incubateur utilisés dans le contexte de ce produit Sélectionner... Chargement...
Outils non mutualisésSélectionnez les autres outils utilisés dans le contexte de ce produit Sélectionner... Chargement...
Produit : Produit fictif pour l'audit Produit fictif pour jouer avec l'outil d'audit
Prod - Dev actif
Métier
Monolithe
Dépendances: PostgreSQL
Redis
Authentification: ProConnect
Consommations d'infrastructure du dernier mois Chargement des consommations...
Recommandations Chargement des recommandations...
Si vous constatez des erreurs dans ces informations, merci de nous les remonter.
Audit technique du produit Produit fictif pour l'audit Comité d'investissement prévu pour le 14/09/2024
Ce questionnaire vise à recueillir des informations techniques sur le produit. Une réponse positive (Oui) est généralement attendue, mais une réponse négative (Non) peut être tout à fait appropriée en fonction du contexte. Dans ce cas, merci de préciser les raisons dans les commentaires.
Important : Le formulaire ne prend pas encore en charge l'édition simultanée. Si plusieurs personnes travaillent dessus en même temps, cela risque d'écraser les réponses des autres.
Merci pour votre contribution.
Infra Opération DB A11y Archi Intra OSS Dev XP Produit Sécu Bizdev L'application est-elle déployée chez un hébergeur souverain ?Entreprise et serveurs en Union Européenne
https://www.numerique.gouv.fr/services/cloud/doctrine/
https://www.numerique.gouv.fr/services/cloud/regles-doctrine/#contenu
L'application est-elle déployée en haute disponibilité ?Cela implique d'avoir plusieurs instances pouvant répondre aux requêtes avec un load balancer. Ainsi, en cas de crash d'une instance les requêtes peuvent toujours être servies aux autres instances.
Les bases de données sont-elles déployées en haute disponibilité ?Redondance avec master/slave. "Business" chez scalingoi
Votre infrastructure est-elle gérée "As Code" ?L'Infrastructure as Code (IaC) vous permet de documenter les changements d'infra et de remonter vos applications suite à un désastre. Par exemple Terraform ou son équivalent open source "OpenTOFU"
Votre application a-t-elle un nom de domaine en .anct.gouv.fr ?
Monitorez-vous votre infrastructure ? Si oui, avec quels outils ?Par exemple avec des outils type Grafana, Metrics scalingo, ... (CPU, RAM, Disque, ...)
Pour le monitoring de votre application, utilisez-vous l'instance Sentry proposée par l'Incubateur des territoires ?Sur https://sentry.incubateur.anct.gouv.fr . Si c'est https://sentry.incubateur.net il s'agit du Sentry de la DINUM.
Recevez-vous une alerte en cas de downtime sur le produit ?par ex: updown.io (proposé par l'Incubateur)
Recevez-vous une alerte en cas d'anomalie sur le produit ?Site très lent (alertes Grafana ou alertes Scalingo), utilisation serveurs anormale (disques durs, RAM, CPU), erreurs applicatives (alertes Sentry), etc...
Suivez-vous des bonnes pratique de log ? Si oui lesquelles ?Par exemple : format JSON ou Logfmt, contenu des logs (timestamp, IP, requestID, ...)
Monitorez-vous les requetes lentes de votre base de données ?
Publiez-vous un postmortem après un incident de production ? Quel public y a accès ?
Vos medias publics sont-ils diffusés via un bucket s3 public sur un sous-domaine dédié avec HTTPS ?Par exemple https://storage.lesbases.anct.gouv.fr via edge services
Pratique pour la gestion des CSP
Vos medias privés sont-ils diffusés via un bucket s3 privé avec des liens signés et générés par votre backend ?C'est bien le S3 qui sert l'asset et pas votre backend, par exemple AEI : https://gitlab.com/incubateur-territoires/startups/agents-intervention/agents-en-intervention/-/blob/dev/src/Service/S3ServiceImpl.php?ref_type=heads#L66-82
Avez-vous testé dans les 6 derniers mois votre procédure de backup et restore de la base de donnée ?
Votre base de données est-elle infogérée (managée) ?Managée complètement par Scalingo ou Scaleway
Les données sont-elles chiffrées au repos (at rest) ?Cela a pour but d'empêcher l'utilisation des données dans le cas d'une intrusion par exemple.
La base de données a-t-elle un schéma homogène (Casse, Langue, ...) ?https://fr.wikipedia.org/wiki/Sensibilit%C3%A9_%C3%A0_la_casse
Votre base de données comporte-t-elle des contraintes d'intégrité ?Contraintes de clé primaire, clé étrangère, d'unicité, etc...
Avez-vous un processus de migration de schéma automatisé ?Fourni par exemple par Prisma, Doctrine, ...
Utilisez-vous un ORM ?ORM : Outil qui traduit les données entre la base de données et les objets du code.
Ex : Hibernate, SQLAlchemy, Entity Framework.
Un des développeurs a-t-il une connaissance importante des critères RGAA ?Des formations via Beta.gouv sont possibles
Les tests automatiques (lighthouse) sont-ils à 100% sur toutes les pages ?
Votre produit inclut-il une déclaration d'accessibilité ?si oui, donnez le lien en commentaire
L’équipe réalise-t-elle les 10 easy checks régulièrement ?Par exemple avec l'outil Grist de Manon https://grist.incubateur.anct.gouv.fr/o/docs/3TT8oYijFBwn/Suivi-des-10-easy-Checks/p/14
Le produit passe-t-il 100% des 10 easy checks sur toutes ses pages ?S'il y a des blocages, des experts sont dispo à l'incubateur
Le produit a-t-il réalisé un pré-audit avec le pôle numérique inclusif (Anne-Sophie) ?
Le produit a-t-il réalisé un audit RGAA via un prestataire externe ?
L’équipe (au moins PM & un dev) est elle sensibilisée à l'accessibilité ?Beta propose des formations https://espace-membre.incubateur.net/login?next=/formations
Y-a-t-il un readme permettant de contribuer au projet de manière autonome ?Faire tourner le projet en local, pratiques de contribution, ...
Existe t-il un DAT (Dossier d'Architecture Technique) ? (si oui, merci de mettre le lien en commentaire)https://gitlab.com/groups/incubateur-territoires/startups/infrastructures-numeriques/-/wikis/Dossier-d'architecture-technique
https://github.com/betagouv/rdv-service-public/blob/production/docs/architecture-technique.md
Un Single Sign-On (SSO) est-il implémenté pour vos utilisateurs ?ProConnect / AgentConnect / MonComptePro
Votre équipe adhère-t-elle à un pattern d'organisation de code prédéfini et documenté ?Proposé par votre framework ou MVC / DDD / Autre
Appliquez-vous des pratiques d’éco-conception ? Saisissez en commentaire le score obtenu sur le site https://www.ecoindex.fr/
Documentez-vous vos décisions d'architecture ?
Si oui merci de mettre le lien en commentairehttps://blog.octo.com/architecture-decision-record
https://github.com/joelparkerhenderson/architecture-decision-record
https://en.wikipedia.org/wiki/Architectural_decision#cite_note-15
https://github.com/betagouv/rdv-service-public/tree/production/docs/decisions
ProConnect : Stockez vous le sub pro-connect pour réconcilier entre votre base et le retour Proconnect ?Permet de supporter les changements d'email, cf https://partenaires.proconnect.gouv.fr/docs/fournisseur-service/donnees_fournies
Existe t-il un document de traitement des données (politique de confidentialité) ?Si oui, mettre le lien en commentaire
https://rdv.anct.gouv.fr/politique_de_confidentialite
Publiez-vous le budget de votre startup ?
La fiche beta.gouv.fr de la startup est-elle à jour (membres, repo, stats, budget, ...) ?
Les indicateurs de votre produit dans Dashlord sont-ils au minimum à la note E et exempts de tout avertissement (warning) ?https://dashlord.incubateur.anct.gouv.fr/
Y a t-il dans votre équipe des notes de frais pour l'outillage ?précisez en commentaire les produits concernés
Une page stats est-elle en place pour visualiser vos métriques d'impact ?
Prenez-vous le temps de remettre en question régulièrement vos métriques d'impact ?
Avez-vous intégré une boucle de feedback à votre produit ? (Qualitatif)Si oui, précisez comment est collecté le feedback utilisateur.
Par exemple https://jedonnemonavis.numerique.gouv.fr/
Evaluez-vous régulièrement l'utilité perçue de votre service ? (Quantitatif)Par exemple avec le Net Promoter Score (nécessite un minimum de ~100 / 200 réponses pour être statistiquement pertinent)
Le code est-il sur un repo public (GitHub/GitLab) ?
Avez-vous un fichier de licence dans le repository ?Aide au choix de la license : https://licence-libre.incubateur.anct.gouv.fr/
Existe t-il un fichier de contribution expliquant le workflow de contribution au projet ?https://contributing.md/
https://gitlab.com/incubateur-territoires/startups/espace-sur-demande/application/-/blob/develop/CONTRIBUTING.md
Les données du produit sont-elles disponibles sur data.gouv.fr ?
Un service externe peut-il s'interfacer avec votre produit en autonomie ?API Publique, documentée, self-service
Contrôlez-vous automatiquement que vos dépendances (librairies) sont à jour ?Par exemple avec Dependabot
Secure > security configuration (GitLab)
Votre stack technique (langages, runtimes, bases de données, infrastructure) est-elle à jour ?Secure > security configuration (GitLab)
Avez-vous un outil d'analyse statique du code en place ?Complexité cyclomatique, ...
Par exemple SonarQube, GitLab Code Quality, Github Code QL
Exécutez-vous systématiquement les tests automatisés pour chaque Pull Request ?
Le code est-il parcouru à 80% par les tests automatisés (code coverage) ?
L'acceptation de nouveau code dans la branche principale passe-t-elle par des pull requests ?
Un pipeline d’intégration & déploiement continue est-il en place ?
Toute l'équipe travaille-t-elle sur un backlog commun dans le meme outil ? Par exemple un board Projets, Trello ou des issues GitLab
Un standard de formatage de code et un linter sont-il en place ?
Peut-on faire tourner le produit en local en 15 minutes ?C'est vraiment important, on va tester !
Votre application est-elle en mono-repo ?On ne promeut pas forcément le mono-repo, on cherche avoir la vision globale sur votre produit.
Les PM / PO / Stakeholders testent-ils les développements sur un environnement de test similaire à la prod ?Ces environnements sont parfois appelés feature apps ou review apps.
La CI / CD tourne-t-elle sur les PRs en moins de 10 minutes ?
Les améliorations techniques sont-elles faciles à prioriser face aux nouvelles fonctionnalités ?Le travail de développement nécessite de travailler parfois sur des fonctionnalités du produit et d'autres fois de travailler à des sujets purements techniques qui n'apportent pas de nouvelles fonctionnalités.
Ces sujets techniques peuvent cependant parfois être critiques pour la fiabilité et la qualité de l'application. Dans ces cas, il est important de pouvoir les prioriser correctement par rapport aux nouvelles fonctionnalités.
À votre avis, est-ce que la communication avec les PM permet de correctement prioriser ces sujets ?
Appliquez-vous un standard de nommage de commits, type conventional commit ?https://www.conventionalcommits.org/fr/v1.0.0/
Ressentez-vous un climat de confiance qui permet de partager ouvertement les difficultés et les succès durant les retros ?
Votre équipe a-t-elle défini et documenté des critères clairs pour considérer qu'une tâche est "prête à être développée" (Definition of Ready) et "prête à déployée" (Definition of Done)?Avez-vous des difficultées à l'interface dev / produit ?
Les données utilisées sur les environnements de développement ou de test sont-elles anonymisées ?Faker, ETL d'anonymisation, ...
Disposez-vous d'un glossaire expliquant le vocabulaire métier ?
Vos utilisateurs ont-il accès à un changelog pour votre projet ?https://keepachangelog.com/fr/1.1.0/
Pour l'analyse produit de votre application, utilisez-vous l'instance Matomo proposée par l'Incubateur des territoires ?https://matomo.incubateur.anct.gouv.fr/
Adoptez-vous une approche guidée par l'impact pour introduire vos nouvelles fonctionnalités ?Par exemple : Commencer avec la version la plus minimale de la fonctionnalité, mesurer son impact. Décider si il faut continuer ou pas à investir sur cette fonctionnalitée.
Utilisez-vous des frameworks pour la conception produit ?Par exemple Shape Up, dual-track agile, lean UX, etc...
Faites-vous de la recherche utilisateur ?https://designgouv.notion.site/La-recherche-utilisateur-27f77d6e829a4187817be6f91398a78e
Disposez-vous d'une cartographie des parcours utilisateurs (user journey) à jour ?Exemple A+ : https://www.notion.so/incubateurdesterritoires/Parcours-utilisateurs-principaux-1c7744bf03dd80c18685e982782950d6
Organisez-vous des rétrospectives au moins une fois tous les deux mois ?
Les rétrospectives aboutissent-elles systématiquement à des actions concrètes à mettre en place ?
Utilisez-vous un système de CAPTCHA sur votre produit ? Si oui lequel ?
Avez-vous une politique de rétention des données définie et appliquée ?GDPR
Utilisez-vous les chiffrement pour les données en transit ?Par exemple utilisation de HTTPS entre le client et le serveur, ou TLS entre le serveur et la base de données.
Avez-vous en place une détection des secrets dans le code exécuté sur la CI ?Par exemple détection GitLab / GitHub / SonarQube
https://docs.gitlab.com/ee/user/application_security/secret_detection/
https://gitleaks.io/
Utilisez-vous des MFAs (https://fr.wikipedia.org/wiki/Double_authentification) pour accéder aux interfaces d'administration de vos outils et infras ?Ex. :
- dépôt de code (GitLab, GitHub...)
- accès à l'interface d'administration de l'hébergeur
- sentry
- grafana
- plus généralement, tous les outils qui concourent au bon fonctionnement du service...
Utilisez vous des commits signés ?https://docs.gitlab.com/ee/user/project/repository/signed_commits/
https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits
Disposez-vous d'une procédure de réponse aux incidents de sécurité ?Voici celle de l'incubateur : https://www.notion.so/incubateurdesterritoires/Proc-dure-de-R-ponse-et-Signalement-des-Incidents-de-S-curit-PRIS-184744bf03dd80deb69bc0916d6c1bbb#184744bf03dd80deb69bc0916d6c1bbb
Utilisez-vous le coffre (Vaultwarden) de l'incubateur pour la génération, le stockage et le partage de secrets au sein de la startup ?https://coffre.incubateur.anct.gouv.fr/
Tous les membres de l'équipe utilisent-ils un gestionnaire de mot de passe pour leurs accès nominatifs ?Par exemple le compte de l'hébergeur, le compte GitLab ou GitHub...
https://www.notion.so/incubateurdesterritoires/La-boite-outils-tech-41e41e42094e4a85b876520a03cb044c?pvs=4#616778a9ecac45faa06373845ae2dbdb
Un lien security.txt est-il mis en place sur votre service ?Permet à un reporter de vous prévenir d'une faille sur votre service https://securitytxt.org/
Votre metabase a-t-il accès à des données personnelles sur votre base de données ?Des solutions existent, par exemple PGAnonymizer
https://www.notion.so/incubateurdesterritoires/Metabase-on-scalingo-119744bf03dd8006a55ccaffd62a26af
Votre metabase utilise-t-il un utilisateur dédié avec des permissions en lecture seule pour accéder à la base de données ?
Disposez-vous d'une stratégie de déploiement territorial documentée ?
Mesurez-vous le coût d'acquisition de nouveaux utilisateurs ou territoires ?
Avez-vous calculé le retour sur investissement (ROI) pour les collectivités qui adoptent votre solution ?
Avez-vous un plan de communication ou marketing pour promouvoir votre solution ?
Avez-vous un suivi des taux de conversion à chaque étape du parcours d'adoption (découverte, essai, adoption régulière) ?
Collaborez-vous ou avez-vous tenté de collaborer avec d'autres startups d'État ou services publics numériques pour créer des synergies ?
Avez-vous documenté votre proposition de valeur afin d'aligner l'équipe autour de celle-ci ?
Votre produit est-il référencé sur le comptoir du libre de l'addulact ?https://comptoir-du-libre.org/fr/softwares
Process pour référencer votre produit : https://docs.numerique.gouv.fr/docs/a39920d1-ab80-4b94-b237-f066e35e251e/